comment here
This commit is contained in:
1941
.CondaPkg/env/share/doc/readline/CHANGES
vendored
1941
.CondaPkg/env/share/doc/readline/CHANGES
vendored
File diff suppressed because it is too large
Load Diff
310
.CondaPkg/env/share/doc/readline/INSTALL
vendored
310
.CondaPkg/env/share/doc/readline/INSTALL
vendored
@@ -1,310 +0,0 @@
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are installation instructions for Readline-8.2.
|
||||
|
||||
The simplest way to compile readline is:
|
||||
|
||||
1. `cd' to the directory containing the readline source code and type
|
||||
`./configure' to configure readline for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes some time. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile readline and build the static readline
|
||||
and history libraries. If supported, the shared readline and history
|
||||
libraries will be built also. See below for instructions on compiling
|
||||
the other parts of the distribution. Typing `make everything' will
|
||||
cause the static and shared libraries (if supported) and the example
|
||||
programs to be built.
|
||||
|
||||
3. Type `make install' to install the static readline and history
|
||||
libraries, the readline include files, the documentation, and, if
|
||||
supported, the shared readline and history libraries.
|
||||
|
||||
4. You can remove the created libraries and object files from the
|
||||
build directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile readline for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the readline developers, and should be used with care.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It
|
||||
uses those values to create a `Makefile' in the build directory,
|
||||
and Makefiles in the `doc', `shlib', and `examples'
|
||||
subdirectories. It also creates a `config.h' file containing
|
||||
system-dependent definitions. Finally, it creates a shell script
|
||||
`config.status' that you can run in the future to recreate the
|
||||
current configuration, a file `config.cache' that saves the
|
||||
results of its tests to speed up reconfiguring, and a file
|
||||
`config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
If you need to do unusual things to compile readline, please try
|
||||
to figure out how `configure' could check whether to do them, and
|
||||
mail diffs or instructions to <bug-readline@gnu.org> so they can
|
||||
be considered for the next release. If at some point
|
||||
`config.cache' contains results you don't want to keep, you may
|
||||
remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a
|
||||
program called `autoconf'. You only need `configure.in' if you
|
||||
want to change it or regenerate `configure' using a newer version
|
||||
of `autoconf'. The readline `configure.in' requires autoconf
|
||||
version 2.69 or newer.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile readline for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile readline for one architecture at a
|
||||
time in the source code directory. After you have installed
|
||||
readline for one architecture, use `make distclean' before
|
||||
reconfiguring for another architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the readline libraries in
|
||||
`/usr/local/lib', the include files in
|
||||
`/usr/local/include/readline', the man pages in `/usr/local/man',
|
||||
and the info files in `/usr/local/info'. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure'
|
||||
the option `--prefix=PATH' or by supplying a value for the
|
||||
DESTDIR variable when running `make install'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files.
|
||||
If you give `configure' the option `--exec-prefix=PATH', the
|
||||
readline Makefiles will use PATH as the prefix for installing the
|
||||
libraries. Documentation and other data files will still use the
|
||||
regular prefix.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but need to determine by the type of host readline
|
||||
will run on. Usually `configure' can figure that out, but if it
|
||||
prints a message saying it can not guess the host type, give it
|
||||
the `--host=TYPE' option. TYPE can either be a short name for
|
||||
the system type, such as `sun4', or a canonical name with three
|
||||
fields: CPU-COMPANY-SYSTEM (e.g., i386-unknown-freebsd4.2).
|
||||
|
||||
See the file `config.sub' for the possible values of each field.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: the readline `configure' looks for a site script, but not
|
||||
all `configure' scripts do.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made.
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
The readline `configure' recognizes two `--with-PACKAGE' options:
|
||||
|
||||
`--with-curses'
|
||||
This tells readline that it can find the termcap library functions
|
||||
(tgetent, et al.) in the curses library, rather than a separate
|
||||
termcap library. Readline uses the termcap functions, but does not
|
||||
usually link with the termcap or curses library itself, allowing
|
||||
applications which link with readline the to choose an appropriate
|
||||
library. This option tells readline to link the example programs with
|
||||
the curses library rather than libtermcap.
|
||||
|
||||
`--with-shared-termcap-library'
|
||||
This tells the readline build process to link the shared version of
|
||||
libreadline against a shared version of the curses or termcap library
|
||||
(see the description of SHLIB_LIBS below under `Shared Libraries').
|
||||
This relieves the application of having to link with curses or termcap
|
||||
itself, but does not allow the application to choose which library to
|
||||
use. This is only effective on systems that build shared libraries (see
|
||||
below; the default for shared libraries is `yes').
|
||||
|
||||
`configure' also recognizes several `--enable-FEATURE' options:
|
||||
|
||||
`--enable-bracketed-paste-default'
|
||||
Enable bracketed paste by default, so the initial value of the
|
||||
`enable-bracketed-paste' Readline variable is `on'. The default
|
||||
is `yes'.
|
||||
|
||||
`--enable-install-examples'
|
||||
Install the readline example programs as part of `make install'.
|
||||
|
||||
`--enable-multibyte'
|
||||
Build with support for multibyte characters enabled on systems with the
|
||||
necessary framework (locale definitions, C library functions, etc.). The
|
||||
default is `yes'.
|
||||
|
||||
`--enable-shared'
|
||||
Build the shared libraries by default on supported platforms. The
|
||||
default is `yes'.
|
||||
|
||||
`--enable-static'
|
||||
Build the static libraries by default. The default is `yes'.
|
||||
|
||||
Shared Libraries
|
||||
================
|
||||
|
||||
There is support for building shared versions of the readline and
|
||||
history libraries. The configure script creates a Makefile in
|
||||
the `shlib' subdirectory, and typing `make shared' will cause
|
||||
shared versions of the readline and history libraries to be built
|
||||
on supported platforms.
|
||||
|
||||
If `configure' is given the `--enable-shared' option, it will attempt
|
||||
to build the shared libraries by default on supported platforms. This
|
||||
option is enabled by default.
|
||||
|
||||
Configure calls the script support/shobj-conf to test whether or
|
||||
not shared library creation is supported and to generate the values
|
||||
of variables that are substituted into shlib/Makefile. If you
|
||||
try to build shared libraries on an unsupported platform, `make'
|
||||
will display a message asking you to update support/shobj-conf for
|
||||
your platform.
|
||||
|
||||
If you need to update support/shobj-conf, you will need to create
|
||||
a `stanza' for your operating system and compiler. The script uses
|
||||
the value of host_os and ${CC} as determined by configure. For
|
||||
instance, FreeBSD 4.2 with any version of gcc is identified as
|
||||
`freebsd4.2-gcc*'.
|
||||
|
||||
In the stanza for your operating system-compiler pair, you will need to
|
||||
define several variables. They are:
|
||||
|
||||
SHOBJ_CC The C compiler used to compile source files into shareable
|
||||
object files. This is normally set to the value of ${CC}
|
||||
by configure, and should not need to be changed.
|
||||
|
||||
SHOBJ_CFLAGS Flags to pass to the C compiler ($SHOBJ_CC) to create
|
||||
position-independent code. If you are using gcc, this
|
||||
should probably be set to `-fpic'.
|
||||
|
||||
SHOBJ_LD The link editor to be used to create the shared library from
|
||||
the object files created by $SHOBJ_CC. If you are using
|
||||
gcc, a value of `gcc' will probably work.
|
||||
|
||||
SHOBJ_LDFLAGS Flags to pass to SHOBJ_LD to enable shared object creation.
|
||||
If you are using gcc, `-shared' may be all that is necessary.
|
||||
These should be the flags needed for generic shared object
|
||||
creation.
|
||||
|
||||
SHLIB_XLDFLAGS Additional flags to pass to SHOBJ_LD for shared library
|
||||
creation. Many systems use the -R option to the link
|
||||
editor to embed a path within the library for run-time
|
||||
library searches. A reasonable value for such systems would
|
||||
be `-R$(libdir)'.
|
||||
|
||||
SHLIB_LIBS Any additional libraries that shared libraries should be
|
||||
linked against when they are created.
|
||||
|
||||
SHLIB_LIBPREF The prefix to use when generating the filename of the shared
|
||||
library. The default is `lib'; Cygwin uses `cyg'.
|
||||
|
||||
SHLIB_LIBSUFF The suffix to add to `libreadline' and `libhistory' when
|
||||
generating the filename of the shared library. Many systems
|
||||
use `so'; HP-UX uses `sl'.
|
||||
|
||||
SHLIB_LIBVERSION The string to append to the filename to indicate the version
|
||||
of the shared library. It should begin with $(SHLIB_LIBSUFF),
|
||||
and possibly include version information that allows the
|
||||
run-time loader to load the version of the shared library
|
||||
appropriate for a particular program. Systems using shared
|
||||
libraries similar to SunOS 4.x use major and minor library
|
||||
version numbers; for those systems a value of
|
||||
`$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' is appropriate.
|
||||
Systems based on System V Release 4 don't use minor version
|
||||
numbers; use `$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' on those systems.
|
||||
Other Unix versions use different schemes.
|
||||
|
||||
SHLIB_DLLVERSION The version number for shared libraries that determines API
|
||||
compatibility between readline versions and the underlying
|
||||
system. Used only on Cygwin. Defaults to $SHLIB_MAJOR, but
|
||||
can be overridden at configuration time by defining DLLVERSION
|
||||
in the environment.
|
||||
|
||||
SHLIB_DOT The character used to separate the name of the shared library
|
||||
from the suffix and version information. The default is `.';
|
||||
systems like Cygwin which don't separate version information
|
||||
from the library name should set this to the empty string.
|
||||
|
||||
SHLIB_STATUS Set this to `supported' when you have defined the other
|
||||
necessary variables. Make uses this to determine whether
|
||||
or not shared library creation should be attempted. If
|
||||
shared libraries are not supported, this will be set to
|
||||
`unsupported'.
|
||||
|
||||
You should look at the existing stanzas in support/shobj-conf for ideas.
|
||||
|
||||
Once you have updated support/shobj-conf, re-run configure and type
|
||||
`make shared' or `make'. The shared libraries will be created in the
|
||||
shlib subdirectory.
|
||||
|
||||
If shared libraries are created, `make install' will install them.
|
||||
You may install only the shared libraries by running `make
|
||||
install-shared' from the top-level build directory. Running `make
|
||||
install' in the shlib subdirectory will also work. If you don't want
|
||||
to install any created shared libraries, run `make install-static'.
|
||||
196
.CondaPkg/env/share/doc/readline/README
vendored
196
.CondaPkg/env/share/doc/readline/README
vendored
@@ -1,196 +0,0 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
This is the Gnu Readline library, version 8.2.
|
||||
|
||||
The Readline library provides a set of functions for use by applications
|
||||
that allow users to edit command lines as they are typed in. Both
|
||||
Emacs and vi editing modes are available. The Readline library includes
|
||||
additional functions to maintain a list of previously-entered command
|
||||
lines, to recall and perhaps reedit those lines, and perform csh-like
|
||||
history expansion on previous commands.
|
||||
|
||||
The history facilities are also placed into a separate library, the
|
||||
History library, as part of the build process. The History library
|
||||
may be used without Readline in applications which desire its
|
||||
capabilities.
|
||||
|
||||
The Readline library is free software, distributed under the terms of
|
||||
the [GNU] General Public License as published by the Free Software
|
||||
Foundation, version 3 of the License. For more information, see the
|
||||
file COPYING.
|
||||
|
||||
To build the library, try typing `./configure', then `make'. The
|
||||
configuration process is automated, so no further intervention should
|
||||
be necessary. Readline builds with `gcc' by default if it is
|
||||
available. If you want to use `cc' instead, type
|
||||
|
||||
CC=cc ./configure
|
||||
|
||||
if you are using a Bourne-style shell. If you are not, the following
|
||||
may work:
|
||||
|
||||
env CC=cc ./configure
|
||||
|
||||
Read the file INSTALL in this directory for more information about how
|
||||
to customize and control the build process.
|
||||
|
||||
The file rlconf.h contains C preprocessor defines that enable and disable
|
||||
certain Readline features.
|
||||
|
||||
The special make target `everything' will build the static and shared
|
||||
libraries (if the target platform supports them) and the examples.
|
||||
|
||||
Examples
|
||||
========
|
||||
|
||||
There are several example programs that use Readline features in the
|
||||
examples directory. The `rl' program is of particular interest. It
|
||||
is a command-line interface to Readline, suitable for use in shell
|
||||
scripts in place of `read'.
|
||||
|
||||
Shared Libraries
|
||||
================
|
||||
|
||||
There is skeletal support for building shared versions of the
|
||||
Readline and History libraries. The configure script creates
|
||||
a Makefile in the `shlib' subdirectory, and typing `make shared'
|
||||
will cause shared versions of the Readline and History libraries
|
||||
to be built on supported platforms.
|
||||
|
||||
If `configure' is given the `--enable-shared' option, it will attempt
|
||||
to build the shared libraries by default on supported platforms.
|
||||
|
||||
Configure calls the script support/shobj-conf to test whether or
|
||||
not shared library creation is supported and to generate the values
|
||||
of variables that are substituted into shlib/Makefile. If you
|
||||
try to build shared libraries on an unsupported platform, `make'
|
||||
will display a message asking you to update support/shobj-conf for
|
||||
your platform.
|
||||
|
||||
If you need to update support/shobj-conf, you will need to create
|
||||
a `stanza' for your operating system and compiler. The script uses
|
||||
the value of host_os and ${CC} as determined by configure. For
|
||||
instance, FreeBSD 4.2 with any version of gcc is identified as
|
||||
`freebsd4.2-gcc*'.
|
||||
|
||||
In the stanza for your operating system-compiler pair, you will need to
|
||||
define several variables. They are:
|
||||
|
||||
SHOBJ_CC The C compiler used to compile source files into shareable
|
||||
object files. This is normally set to the value of ${CC}
|
||||
by configure, and should not need to be changed.
|
||||
|
||||
SHOBJ_CFLAGS Flags to pass to the C compiler ($SHOBJ_CC) to create
|
||||
position-independent code. If you are using gcc, this
|
||||
should probably be set to `-fpic'.
|
||||
|
||||
SHOBJ_LD The link editor to be used to create the shared library from
|
||||
the object files created by $SHOBJ_CC. If you are using
|
||||
gcc, a value of `gcc' will probably work.
|
||||
|
||||
SHOBJ_LDFLAGS Flags to pass to SHOBJ_LD to enable shared object creation.
|
||||
If you are using gcc, `-shared' may be all that is necessary.
|
||||
These should be the flags needed for generic shared object
|
||||
creation.
|
||||
|
||||
SHLIB_XLDFLAGS Additional flags to pass to SHOBJ_LD for shared library
|
||||
creation. Many systems use the -R option to the link
|
||||
editor to embed a path within the library for run-time
|
||||
library searches. A reasonable value for such systems would
|
||||
be `-R$(libdir)'.
|
||||
|
||||
SHLIB_LIBS Any additional libraries that shared libraries should be
|
||||
linked against when they are created.
|
||||
|
||||
SHLIB_LIBPREF The prefix to use when generating the filename of the shared
|
||||
library. The default is `lib'; Cygwin uses `cyg'.
|
||||
|
||||
SHLIB_LIBSUFF The suffix to add to `libreadline' and `libhistory' when
|
||||
generating the filename of the shared library. Many systems
|
||||
use `so'; HP-UX uses `sl'.
|
||||
|
||||
SHLIB_LIBVERSION The string to append to the filename to indicate the version
|
||||
of the shared library. It should begin with $(SHLIB_LIBSUFF),
|
||||
and possibly include version information that allows the
|
||||
run-time loader to load the version of the shared library
|
||||
appropriate for a particular program. Systems using shared
|
||||
libraries similar to SunOS 4.x use major and minor library
|
||||
version numbers; for those systems a value of
|
||||
`$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' is appropriate.
|
||||
Systems based on System V Release 4 don't use minor version
|
||||
numbers; use `$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)' on those systems.
|
||||
Other Unix versions use different schemes.
|
||||
|
||||
SHLIB_DLLVERSION The version number for shared libraries that determines API
|
||||
compatibility between readline versions and the underlying
|
||||
system. Used only on Cygwin. Defaults to $SHLIB_MAJOR, but
|
||||
can be overridden at configuration time by defining DLLVERSION
|
||||
in the environment.
|
||||
|
||||
SHLIB_DOT The character used to separate the name of the shared library
|
||||
from the suffix and version information. The default is `.';
|
||||
systems like Cygwin which don't separate version information
|
||||
from the library name should set this to the empty string.
|
||||
|
||||
SHLIB_STATUS Set this to `supported' when you have defined the other
|
||||
necessary variables. Make uses this to determine whether
|
||||
or not shared library creation should be attempted.
|
||||
|
||||
You should look at the existing stanzas in support/shobj-conf for ideas.
|
||||
|
||||
Once you have updated support/shobj-conf, re-run configure and type
|
||||
`make shared'. The shared libraries will be created in the shlib
|
||||
subdirectory.
|
||||
|
||||
If shared libraries are created, `make install' will install them.
|
||||
You may install only the shared libraries by running `make
|
||||
install-shared' from the top-level build directory. Running `make
|
||||
install' in the shlib subdirectory will also work. If you don't want
|
||||
to install any created shared libraries, run `make install-static'.
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
The documentation for the Readline and History libraries appears in
|
||||
the `doc' subdirectory. There are three texinfo files and a
|
||||
Unix-style manual page describing the facilities available in the
|
||||
Readline library. The texinfo files include both user and
|
||||
programmer's manuals. HTML versions of the manuals appear in the
|
||||
`doc' subdirectory as well.
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
Our position on the use of Readline through a shared-library linking
|
||||
mechanism is that there is no legal difference between shared-library
|
||||
linking and static linking--either kind of linking combines various
|
||||
modules into a single larger work. The conditions for using Readline
|
||||
in a larger work are stated in section 3 of the GNU GPL.
|
||||
|
||||
Reporting Bugs
|
||||
==============
|
||||
|
||||
Bug reports for Readline should be sent to:
|
||||
|
||||
bug-readline@gnu.org
|
||||
|
||||
When reporting a bug, please include the following information:
|
||||
|
||||
* the version number and release status of Readline (e.g., 4.2-release)
|
||||
* the machine and OS that it is running on
|
||||
* a list of the compilation flags or the contents of `config.h', if
|
||||
appropriate
|
||||
* a description of the bug
|
||||
* a recipe for recreating the bug reliably
|
||||
* a fix for the bug if you have one!
|
||||
|
||||
If you would like to contact the Readline maintainer directly, send mail
|
||||
to bash-maintainers@gnu.org.
|
||||
|
||||
Since Readline is developed along with bash, the bug-bash@gnu.org mailing
|
||||
list (mirrored to the Usenet newsgroup gnu.bash.bug) often contains
|
||||
Readline bug reports and fixes.
|
||||
|
||||
Chet Ramey
|
||||
chet.ramey@case.edu
|
||||
31
.CondaPkg/env/share/doc/xz/AUTHORS
vendored
31
.CondaPkg/env/share/doc/xz/AUTHORS
vendored
@@ -1,31 +0,0 @@
|
||||
|
||||
Authors of XZ Utils
|
||||
===================
|
||||
|
||||
XZ Utils is developed and maintained by Lasse Collin
|
||||
<lasse.collin@tukaani.org> and Jia Tan <jiat0218@gmail.com>.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Several people have contributed fixes or reported bugs. Most of them
|
||||
are mentioned in the file THANKS.
|
||||
|
||||
65
.CondaPkg/env/share/doc/xz/COPYING
vendored
65
.CondaPkg/env/share/doc/xz/COPYING
vendored
@@ -1,65 +0,0 @@
|
||||
|
||||
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!):
|
||||
|
||||
- liblzma is in the public domain.
|
||||
|
||||
- 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 scripts to grep, diff, and view compressed files have been
|
||||
adapted from gzip. These scripts and their documentation are
|
||||
under GNU GPLv2+.
|
||||
|
||||
- All the documentation in the doc directory and most of the
|
||||
XZ Utils specific documentation files in other directories
|
||||
are in the public domain.
|
||||
|
||||
- Translated messages are in the public domain.
|
||||
|
||||
- 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.
|
||||
|
||||
- Test files and test code in the tests directory, and debugging
|
||||
utilities in the debug directory are in the public domain.
|
||||
|
||||
- The extra directory may contain public domain files, and files
|
||||
that are under various free software licenses.
|
||||
|
||||
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
|
||||
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:
|
||||
|
||||
This software includes code from XZ Utils <https://tukaani.org/xz/>.
|
||||
|
||||
The following license texts are included in the following files:
|
||||
- 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.
|
||||
|
||||
339
.CondaPkg/env/share/doc/xz/COPYING.GPLv2
vendored
339
.CondaPkg/env/share/doc/xz/COPYING.GPLv2
vendored
@@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
996
.CondaPkg/env/share/doc/xz/NEWS
vendored
996
.CondaPkg/env/share/doc/xz/NEWS
vendored
@@ -1,996 +0,0 @@
|
||||
|
||||
XZ Utils Release Notes
|
||||
======================
|
||||
|
||||
5.2.10 (2022-12-13)
|
||||
|
||||
* xz: Don't modify argv[] when parsing the --memlimit* and
|
||||
--block-list command line options. This fixes confusing
|
||||
arguments in process listing (like "ps auxf").
|
||||
|
||||
* GNU/Linux only: Use __has_attribute(__symver__) to detect if
|
||||
that attribute is supported. This fixes build on Mandriva where
|
||||
Clang is patched to define __GNUC__ to 11 by default (instead
|
||||
of 4 as used by Clang upstream).
|
||||
|
||||
|
||||
5.2.9 (2022-11-30)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed an infinite loop in LZMA encoder initialization
|
||||
if dict_size >= 2 GiB. (The encoder only supports up
|
||||
to 1536 MiB.)
|
||||
|
||||
- Fixed two cases of invalid free() that can happen if
|
||||
a tiny allocation fails in encoder re-initialization
|
||||
or in lzma_filters_update(). These bugs had some
|
||||
similarities with the bug fixed in 5.2.7.
|
||||
|
||||
- Fixed lzma_block_encoder() not allowing the use of
|
||||
LZMA_SYNC_FLUSH with lzma_code() even though it was
|
||||
documented to be supported. The sync-flush code in
|
||||
the Block encoder was already used internally via
|
||||
lzma_stream_encoder(), so this was just a missing flag
|
||||
in the lzma_block_encoder() API function.
|
||||
|
||||
- GNU/Linux only: Don't put symbol versions into static
|
||||
liblzma as it breaks things in some cases (and even if
|
||||
it didn't break anything, symbol versions in static
|
||||
libraries are useless anyway). The downside of the fix
|
||||
is that if the configure options --with-pic or --without-pic
|
||||
are used then it's not possible to build both shared and
|
||||
static liblzma at the same time on GNU/Linux anymore;
|
||||
with those options --disable-static or --disable-shared
|
||||
must be used too.
|
||||
|
||||
* New email address for bug reports is <xz@tukaani.org> which
|
||||
forwards messages to Lasse Collin and Jia Tan.
|
||||
|
||||
|
||||
5.2.8 (2022-11-13)
|
||||
|
||||
* xz:
|
||||
|
||||
- If xz cannot remove an input file when it should, this
|
||||
is now treated as a warning (exit status 2) instead of
|
||||
an error (exit status 1). This matches GNU gzip and it
|
||||
is more logical as at that point the output file has
|
||||
already been successfully closed.
|
||||
|
||||
- Fix handling of .xz files with an unsupported check type.
|
||||
Previously such printed a warning message but then xz
|
||||
behaved as if an error had occurred (didn't decompress,
|
||||
exit status 1). Now a warning is printed, decompression
|
||||
is done anyway, and exit status is 2. This used to work
|
||||
slightly before 5.0.0. In practice this bug matters only
|
||||
if xz has been built with some check types disabled. As
|
||||
instructed in PACKAGERS, such builds should be done in
|
||||
special situations only.
|
||||
|
||||
- Fix "xz -dc --single-stream tests/files/good-0-empty.xz"
|
||||
which failed with "Internal error (bug)". That is,
|
||||
--single-stream was broken if the first .xz stream in
|
||||
the input file didn't contain any uncompressed data.
|
||||
|
||||
- Fix displaying file sizes in the progress indicator when
|
||||
working in passthru mode and there are multiple input files.
|
||||
Just like "gzip -cdf", "xz -cdf" works like "cat" when the
|
||||
input file isn't a supported compressed file format. In
|
||||
this case the file size counters weren't reset between
|
||||
files so with multiple input files the progress indicator
|
||||
displayed an incorrect (too large) value.
|
||||
|
||||
* liblzma:
|
||||
|
||||
- API docs in lzma/container.h:
|
||||
* Update the list of decoder flags in the decoder
|
||||
function docs.
|
||||
* Explain LZMA_CONCATENATED behavior with .lzma files
|
||||
in lzma_auto_decoder() docs.
|
||||
|
||||
- OpenBSD: Use HW_NCPUONLINE to detect the number of
|
||||
available hardware threads in lzma_physmem().
|
||||
|
||||
- Fix use of wrong macro to detect x86 SSE2 support.
|
||||
__SSE2_MATH__ was used with GCC/Clang but the correct
|
||||
one is __SSE2__. The first one means that SSE2 is used
|
||||
for floating point math which is irrelevant here.
|
||||
The affected SSE2 code isn't used on x86-64 so this affects
|
||||
only 32-bit x86 builds that use -msse2 without -mfpmath=sse
|
||||
(there is no runtime detection for SSE2). It improves LZMA
|
||||
compression speed (not decompression).
|
||||
|
||||
- Fix the build with Intel C compiler 2021 (ICC, not ICX)
|
||||
on Linux. It defines __GNUC__ to 10 but doesn't support
|
||||
the __symver__ attribute introduced in GCC 10.
|
||||
|
||||
* Scripts: Ignore warnings from xz by using --quiet --no-warn.
|
||||
This is needed if the input .xz files use an unsupported
|
||||
check type.
|
||||
|
||||
* Translations:
|
||||
|
||||
- Updated Croatian and Turkish translations.
|
||||
|
||||
- One new translations wasn't included because it needed
|
||||
technical fixes. It will be in upcoming 5.4.0. No new
|
||||
translations will be added to the 5.2.x branch anymore.
|
||||
|
||||
- Renamed the French man page translation file from
|
||||
fr_FR.po to fr.po and thus also its install directory
|
||||
(like /usr/share/man/fr_FR -> .../fr).
|
||||
|
||||
- Man page translations for upcoming 5.4.0 are now handled
|
||||
in the Translation Project.
|
||||
|
||||
* Update doc/faq.txt a little so it's less out-of-date.
|
||||
|
||||
|
||||
5.2.7 (2022-09-30)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Made lzma_filters_copy() to never modify the destination
|
||||
array if an error occurs. lzma_stream_encoder() and
|
||||
lzma_stream_encoder_mt() already assumed this. Before this
|
||||
change, if a tiny memory allocation in lzma_filters_copy()
|
||||
failed it would lead to a crash (invalid free() or invalid
|
||||
memory reads) in the cleanup paths of these two encoder
|
||||
initialization functions.
|
||||
|
||||
- Added missing integer overflow check to lzma_index_append().
|
||||
This affects xz --list and other applications that decode
|
||||
the Index field from .xz files using lzma_index_decoder().
|
||||
Normal decompression of .xz files doesn't call this code
|
||||
and thus most applications using liblzma aren't affected
|
||||
by this bug.
|
||||
|
||||
- Single-threaded .xz decoder (lzma_stream_decoder()): If
|
||||
lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
|
||||
to use lzma_memlimit_set() to increase the limit and continue
|
||||
decoding. This was supposed to work from the beginning
|
||||
but there was a bug. With other decoders (.lzma or
|
||||
threaded .xz decoder) this already worked correctly.
|
||||
|
||||
- Fixed accumulation of integrity check type statistics in
|
||||
lzma_index_cat(). This bug made lzma_index_checks() return
|
||||
only the type of the integrity check of the last Stream
|
||||
when multiple lzma_indexes were concatenated. Most
|
||||
applications don't use these APIs but in xz it made
|
||||
xz --list not list all check types from concatenated .xz
|
||||
files. In xz --list --verbose only the per-file "Check:"
|
||||
lines were affected and in xz --robot --list only the "file"
|
||||
line was affected.
|
||||
|
||||
- Added ABI compatibility with executables that were linked
|
||||
against liblzma in RHEL/CentOS 7 or other liblzma builds
|
||||
that had copied the problematic patch from RHEL/CentOS 7
|
||||
(xz-5.2.2-compat-libs.patch). For the details, see the
|
||||
comment at the top of src/liblzma/validate_map.sh.
|
||||
|
||||
WARNING: This uses __symver__ attribute with GCC >= 10.
|
||||
In other cases the traditional __asm__(".symver ...")
|
||||
is used. Using link-time optimization (LTO, -flto) with
|
||||
GCC versions older than 10 can silently result in
|
||||
broken liblzma.so.5 (incorrect symbol versions)! If you
|
||||
want to use -flto with GCC, you must use GCC >= 10.
|
||||
LTO with Clang seems to work even with the traditional
|
||||
__asm__(".symver ...") method.
|
||||
|
||||
* xzgrep: Fixed compatibility with old shells that break if
|
||||
comments inside command substitutions have apostrophes (').
|
||||
This problem was introduced in 5.2.6.
|
||||
|
||||
* Build systems:
|
||||
|
||||
- New #define in config.h: HAVE_SYMBOL_VERSIONS_LINUX
|
||||
|
||||
- Windows: Fixed liblzma.dll build with Visual Studio project
|
||||
files. It broke in 5.2.6 due to a change that was made to
|
||||
improve CMake support.
|
||||
|
||||
- Windows: Building liblzma with UNICODE defined should now
|
||||
work.
|
||||
|
||||
- CMake files are now actually included in the release tarball.
|
||||
They should have been in 5.2.5 already.
|
||||
|
||||
- Minor CMake fixes and improvements.
|
||||
|
||||
* Added a new translation: Turkish
|
||||
|
||||
|
||||
5.2.6 (2022-08-12)
|
||||
|
||||
* xz:
|
||||
|
||||
- The --keep option now accepts symlinks, hardlinks, and
|
||||
setuid, setgid, and sticky files. Previously this required
|
||||
using --force.
|
||||
|
||||
- When copying metadata from the source file to the destination
|
||||
file, don't try to set the group (GID) if it is already set
|
||||
correctly. This avoids a failure on OpenBSD (and possibly on
|
||||
a few other OSes) where files may get created so that their
|
||||
group doesn't belong to the user, and fchown(2) can fail even
|
||||
if it needs to do nothing.
|
||||
|
||||
- Cap --memlimit-compress to 2000 MiB instead of 4020 MiB on
|
||||
MIPS32 because on MIPS32 userspace processes are limited
|
||||
to 2 GiB of address space.
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed a missing error-check in the threaded encoder. If a
|
||||
small memory allocation fails, a .xz file with an invalid
|
||||
Index field would be created. Decompressing such a file would
|
||||
produce the correct output but result in an error at the end.
|
||||
Thus this is a "mild" data corruption bug. Note that while
|
||||
a failed memory allocation can trigger the bug, it cannot
|
||||
cause invalid memory access.
|
||||
|
||||
- The decoder for .lzma files now supports files that have
|
||||
uncompressed size stored in the header and still use the
|
||||
end of payload marker (end of stream marker) at the end
|
||||
of the LZMA stream. Such files are rare but, according to
|
||||
the documentation in LZMA SDK, they are valid.
|
||||
doc/lzma-file-format.txt was updated too.
|
||||
|
||||
- Improved 32-bit x86 assembly files:
|
||||
* Support Intel Control-flow Enforcement Technology (CET)
|
||||
* Use non-executable stack on FreeBSD.
|
||||
|
||||
- Visual Studio: Use non-standard _MSVC_LANG to detect C++
|
||||
standard version in the lzma.h API header. It's used to
|
||||
detect when "noexcept" can be used.
|
||||
|
||||
* xzgrep:
|
||||
|
||||
- Fixed arbitrary command injection via a malicious filename
|
||||
(CVE-2022-1271, ZDI-CAN-16587). A standalone patch for
|
||||
this was released to the public on 2022-04-07. A slight
|
||||
robustness improvement has been made since then and, if
|
||||
using GNU or *BSD grep, a new faster method is now used
|
||||
that doesn't use the old sed-based construct at all. This
|
||||
also fixes bad output with GNU grep >= 3.5 (2020-09-27)
|
||||
when xzgrepping binary files.
|
||||
|
||||
This vulnerability was discovered by:
|
||||
cleemy desu wayo working with Trend Micro Zero Day Initiative
|
||||
|
||||
- Fixed detection of corrupt .bz2 files.
|
||||
|
||||
- Improved error handling to fix exit status in some situations
|
||||
and to fix handling of signals: in some situations a signal
|
||||
didn't make xzgrep exit when it clearly should have. It's
|
||||
possible that the signal handling still isn't quite perfect
|
||||
but hopefully it's good enough.
|
||||
|
||||
- Documented exit statuses on the man page.
|
||||
|
||||
- xzegrep and xzfgrep now use "grep -E" and "grep -F" instead
|
||||
of the deprecated egrep and fgrep commands.
|
||||
|
||||
- Fixed parsing of the options -E, -F, -G, -P, and -X. The
|
||||
problem occurred when multiple options were specied in
|
||||
a single argument, for example,
|
||||
|
||||
echo foo | xzgrep -Fe foo
|
||||
|
||||
treated foo as a filename because -Fe wasn't correctly
|
||||
split into -F -e.
|
||||
|
||||
- Added zstd support.
|
||||
|
||||
* xzdiff/xzcmp:
|
||||
|
||||
- Fixed wrong exit status. Exit status could be 2 when the
|
||||
correct value is 1.
|
||||
|
||||
- Documented on the man page that exit status of 2 is used
|
||||
for decompression errors.
|
||||
|
||||
- Added zstd support.
|
||||
|
||||
* xzless:
|
||||
|
||||
- Fix less(1) version detection. It failed if the version number
|
||||
from "less -V" contained a dot.
|
||||
|
||||
* Translations:
|
||||
|
||||
- Added new translations: Catalan, Croatian, Esperanto,
|
||||
Korean, Portuguese, Romanian, Serbian, Spanish, Swedish,
|
||||
and Ukrainian
|
||||
|
||||
- Updated the Brazilian Portuguese translation.
|
||||
|
||||
- Added French man page translation. This and the existing
|
||||
German translation aren't complete anymore because the
|
||||
English man pages got a few updates and the translators
|
||||
weren't reached so that they could update their work.
|
||||
|
||||
* Build systems:
|
||||
|
||||
- Windows: Fix building of resource files when config.h isn't
|
||||
used. CMake + Visual Studio can now build liblzma.dll.
|
||||
|
||||
- Various fixes to the CMake support. Building static or shared
|
||||
liblzma should work fine in most cases. In contrast, building
|
||||
the command line tools with CMake is still clearly incomplete
|
||||
and experimental and should be used for testing only.
|
||||
|
||||
|
||||
5.2.5 (2020-03-17)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed several C99/C11 conformance bugs. Now the code is clean
|
||||
under gcc/clang -fsanitize=undefined. Some of these changes
|
||||
might have a negative effect on performance with old GCC
|
||||
versions or compilers other than GCC and Clang. The configure
|
||||
option --enable-unsafe-type-punning can be used to (mostly)
|
||||
restore the old behavior but it shouldn't normally be used.
|
||||
|
||||
- Improved API documentation of lzma_properties_decode().
|
||||
|
||||
- Added a very minor encoder speed optimization.
|
||||
|
||||
* xz:
|
||||
|
||||
- Fixed a crash in "xz -dcfv not_an_xz_file". All four options
|
||||
were required to trigger it. The crash occurred in the
|
||||
progress indicator code when xz was in passthru mode where
|
||||
xz works like "cat".
|
||||
|
||||
- Fixed an integer overflow with 32-bit off_t. It could happen
|
||||
when decompressing a file that has a long run of zero bytes
|
||||
which xz would try to write as a sparse file. Since the build
|
||||
system enables large file support by default, off_t is
|
||||
normally 64-bit even on 32-bit systems.
|
||||
|
||||
- Fixes for --flush-timeout:
|
||||
* Fix semi-busy-waiting.
|
||||
* Avoid unneeded flushes when no new input has arrived
|
||||
since the previous flush was completed.
|
||||
|
||||
- Added a special case for 32-bit xz: If --memlimit-compress is
|
||||
used to specify a limit that exceeds 4020 MiB, the limit will
|
||||
be set to 4020 MiB. The values "0" and "max" aren't affected
|
||||
by this and neither is decompression. This hack can be
|
||||
helpful when a 32-bit xz has access to 4 GiB address space
|
||||
but the specified memlimit exceeds 4 GiB. This can happen
|
||||
e.g. with some scripts.
|
||||
|
||||
- Capsicum sandbox is now enabled by default where available
|
||||
(FreeBSD >= 10). The sandbox debug messages (xz -vv) were
|
||||
removed since they seemed to be more annoying than useful.
|
||||
|
||||
- DOS build now requires DJGPP 2.05 instead of 2.04beta.
|
||||
A workaround for a locale problem with DJGPP 2.05 was added.
|
||||
|
||||
* xzgrep and other scripts:
|
||||
|
||||
- Added a configure option --enable-path-for-scripts=PREFIX.
|
||||
It is disabled by default except on Solaris where the default
|
||||
is /usr/xpg4/bin. See INSTALL for details.
|
||||
|
||||
- Added a workaround for a POSIX shell detection problem on
|
||||
Solaris.
|
||||
|
||||
* Build systems:
|
||||
|
||||
- Added preliminary build instructions for z/OS. See INSTALL
|
||||
section 1.2.9.
|
||||
|
||||
- Experimental CMake support was added. It should work to build
|
||||
static liblzma on a few operating systems. It may or may not
|
||||
work to build shared liblzma. On some platforms it can build
|
||||
xz and xzdec too but those are only for testing. See the
|
||||
comment in the beginning of CMakeLists.txt for details.
|
||||
|
||||
- Visual Studio project files were updated.
|
||||
WindowsTargetPlatformVersion was removed from VS2017 files
|
||||
and set to "10.0" in the added VS2019 files. In the future
|
||||
the VS project files will be removed when CMake support is
|
||||
good enough.
|
||||
|
||||
- New #defines in config.h: HAVE___BUILTIN_ASSUME_ALIGNED,
|
||||
HAVE___BUILTIN_BSWAPXX, and TUKLIB_USE_UNSAFE_TYPE_PUNNING.
|
||||
|
||||
- autogen.sh has a new optional dependency on po4a and a new
|
||||
option --no-po4a to skip that step. This matters only if one
|
||||
wants to remake the build files. po4a is used to update the
|
||||
translated man pages but as long as the man pages haven't
|
||||
been modified, there's nothing to update and one can use
|
||||
--no-po4a to avoid the dependency on po4a.
|
||||
|
||||
* Translations:
|
||||
|
||||
- XZ Utils translations are now handled by the Translation
|
||||
Project: https://translationproject.org/domain/xz.html
|
||||
|
||||
- All man pages are now included in German too.
|
||||
|
||||
- New xz translations: Brazilian Portuguese, Finnish,
|
||||
Hungarian, Chinese (simplified), Chinese (traditional),
|
||||
and Danish (partial translation)
|
||||
|
||||
- Updated xz translations: French, German, Italian, and Polish
|
||||
|
||||
- Unfortunately a few new xz translations weren't included due
|
||||
to technical problems like too long lines in --help output or
|
||||
misaligned column headings in tables. In the future, many of
|
||||
these strings will be split and e.g. the table column
|
||||
alignment will be handled in software. This should make the
|
||||
strings easier to translate.
|
||||
|
||||
|
||||
5.2.4 (2018-04-29)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Allow 0 as memory usage limit instead of returning
|
||||
LZMA_PROG_ERROR. Now 0 is treated as if 1 byte was specified,
|
||||
which effectively is the same as 0.
|
||||
|
||||
- Use "noexcept" keyword instead of "throw()" in the public
|
||||
headers when a C++11 (or newer standard) compiler is used.
|
||||
|
||||
- Added a portability fix for recent Intel C Compilers.
|
||||
|
||||
- Microsoft Visual Studio build files have been moved under
|
||||
windows/vs2013 and windows/vs2017.
|
||||
|
||||
* xz:
|
||||
|
||||
- Fix "xz --list --robot missing_or_bad_file.xz" which would
|
||||
try to print an uninitialized string and thus produce garbage
|
||||
output. Since the exit status is non-zero, most uses of such
|
||||
a command won't try to interpret the garbage output.
|
||||
|
||||
- "xz --list foo.xz" could print "Internal error (bug)" in a
|
||||
corner case where a specific memory usage limit had been set.
|
||||
|
||||
|
||||
5.2.3 (2016-12-30)
|
||||
|
||||
* xz:
|
||||
|
||||
- Always close a file before trying to delete it to avoid
|
||||
problems on some operating system and file system combinations.
|
||||
|
||||
- Fixed copying of file timestamps on Windows.
|
||||
|
||||
- Added experimental (disabled by default) sandbox support using
|
||||
Capsicum (FreeBSD >= 10). See --enable-sandbox in INSTALL.
|
||||
|
||||
* C99/C11 conformance fixes to liblzma. The issues affected at least
|
||||
some builds using link-time optimizations.
|
||||
|
||||
* Fixed bugs in the rarely-used function lzma_index_dup().
|
||||
|
||||
* Use of external SHA-256 code is now disabled by default.
|
||||
It can still be enabled by passing --enable-external-sha256
|
||||
to configure. The reasons to disable it by default (see INSTALL
|
||||
for more details):
|
||||
|
||||
- Some OS-specific SHA-256 implementations conflict with
|
||||
OpenSSL and cause problems in programs that link against both
|
||||
liblzma and libcrypto. At least FreeBSD 10 and MINIX 3.3.0
|
||||
are affected.
|
||||
|
||||
- The internal SHA-256 is faster than the SHA-256 code in
|
||||
some operating systems.
|
||||
|
||||
* Changed CPU core count detection to use sched_getaffinity() on
|
||||
GNU/Linux and GNU/kFreeBSD.
|
||||
|
||||
* Fixes to the build-system and xz to make xz buildable even when
|
||||
encoders, decoders, or threading have been disabled from libilzma
|
||||
using configure options. These fixes added two new #defines to
|
||||
config.h: HAVE_ENCODERS and HAVE_DECODERS.
|
||||
|
||||
|
||||
5.2.2 (2015-09-29)
|
||||
|
||||
* Fixed bugs in QNX-specific code.
|
||||
|
||||
* Omitted the use of pipe2() even if it is available to avoid
|
||||
portability issues with some old Linux and glibc combinations.
|
||||
|
||||
* Updated German translation.
|
||||
|
||||
* Added project files to build static and shared liblzma (not the
|
||||
whole XZ Utils) with Visual Studio 2013 update 2 or later.
|
||||
|
||||
* Documented that threaded decompression hasn't been implemented
|
||||
yet. A 5.2.0 NEWS entry describing multi-threading support had
|
||||
incorrectly said "decompression" when it should have said
|
||||
"compression".
|
||||
|
||||
|
||||
5.2.1 (2015-02-26)
|
||||
|
||||
* Fixed a compression-ratio regression in fast mode of LZMA1 and
|
||||
LZMA2. The bug is present in 5.1.4beta and 5.2.0 releases.
|
||||
|
||||
* Fixed a portability problem in xz that affected at least OpenBSD.
|
||||
|
||||
* Fixed xzdiff to be compatible with FreeBSD's mktemp which differs
|
||||
from most other mktemp implementations.
|
||||
|
||||
* Changed CPU core count detection to use cpuset_getaffinity() on
|
||||
FreeBSD.
|
||||
|
||||
|
||||
5.2.0 (2014-12-21)
|
||||
|
||||
Since 5.1.4beta:
|
||||
|
||||
* All fixes from 5.0.8
|
||||
|
||||
* liblzma: Fixed lzma_stream_encoder_mt_memusage() when a preset
|
||||
was used.
|
||||
|
||||
* xzdiff: If mktemp isn't installed, mkdir will be used as
|
||||
a fallback to create a temporary directory. Installing mktemp
|
||||
is still recommended.
|
||||
|
||||
* Updated French, German, Italian, Polish, and Vietnamese
|
||||
translations.
|
||||
|
||||
Summary of fixes and new features added in the 5.1.x development
|
||||
releases:
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Added support for multi-threaded compression. See the
|
||||
lzma_mt structure, lzma_stream_encoder_mt(), and
|
||||
lzma_stream_encoder_mt_memusage() in <lzma/container.h>,
|
||||
lzma_get_progress() in <lzma/base.h>, and lzma_cputhreads()
|
||||
in <lzma/hardware.h> for details.
|
||||
|
||||
- Made the uses of lzma_allocator const correct.
|
||||
|
||||
- Added lzma_block_uncomp_encode() to create uncompressed
|
||||
.xz Blocks using LZMA2 uncompressed chunks.
|
||||
|
||||
- Added support for LZMA_IGNORE_CHECK.
|
||||
|
||||
- A few speed optimizations were made.
|
||||
|
||||
- Added support for symbol versioning. It is enabled by default
|
||||
on GNU/Linux, other GNU-based systems, and FreeBSD.
|
||||
|
||||
- liblzma (not the whole XZ Utils) should now be buildable
|
||||
with MSVC 2013 update 2 or later using windows/config.h.
|
||||
|
||||
* xz:
|
||||
|
||||
- Fixed a race condition in the signal handling. It was
|
||||
possible that e.g. the first SIGINT didn't make xz exit
|
||||
if reading or writing blocked and one had bad luck. The fix
|
||||
is non-trivial, so as of writing it is unknown if it will be
|
||||
backported to the v5.0 branch.
|
||||
|
||||
- Multi-threaded compression can be enabled with the
|
||||
--threads (-T) option.
|
||||
[Fixed: This originally said "decompression".]
|
||||
|
||||
- New command line options in xz: --single-stream,
|
||||
--block-size=SIZE, --block-list=SIZES,
|
||||
--flush-timeout=TIMEOUT, and --ignore-check.
|
||||
|
||||
- xz -lvv now shows the minimum xz version that is required to
|
||||
decompress the file. Currently it is 5.0.0 for all supported
|
||||
.xz files except files with empty LZMA2 streams require 5.0.2.
|
||||
|
||||
* xzdiff and xzgrep now support .lzo files if lzop is installed.
|
||||
The .tzo suffix is also recognized as a shorthand for .tar.lzo.
|
||||
|
||||
|
||||
5.1.4beta (2014-09-14)
|
||||
|
||||
* All fixes from 5.0.6
|
||||
|
||||
* liblzma: Fixed the use of presets in threaded encoder
|
||||
initialization.
|
||||
|
||||
* xz --block-list and --block-size can now be used together
|
||||
in single-threaded mode. Previously the combination only
|
||||
worked in multi-threaded mode.
|
||||
|
||||
* Added support for LZMA_IGNORE_CHECK to liblzma and made it
|
||||
available in xz as --ignore-check.
|
||||
|
||||
* liblzma speed optimizations:
|
||||
|
||||
- Initialization of a new LZMA1 or LZMA2 encoder has been
|
||||
optimized. (The speed of reinitializing an already-allocated
|
||||
encoder isn't affected.) This helps when compressing many
|
||||
small buffers with lzma_stream_buffer_encode() and other
|
||||
similar situations where an already-allocated encoder state
|
||||
isn't reused. This speed-up is visible in xz too if one
|
||||
compresses many small files one at a time instead running xz
|
||||
once and giving all files as command-line arguments.
|
||||
|
||||
- Buffer comparisons are now much faster when unaligned access
|
||||
is allowed (configured with --enable-unaligned-access). This
|
||||
speeds up encoding significantly. There is arch-specific code
|
||||
for 32-bit and 64-bit x86 (32-bit needs SSE2 for the best
|
||||
results and there's no run-time CPU detection for now).
|
||||
For other archs there is only generic code which probably
|
||||
isn't as optimal as arch-specific solutions could be.
|
||||
|
||||
- A few speed optimizations were made to the SHA-256 code.
|
||||
(Note that the builtin SHA-256 code isn't used on all
|
||||
operating systems.)
|
||||
|
||||
* liblzma can now be built with MSVC 2013 update 2 or later
|
||||
using windows/config.h.
|
||||
|
||||
* Vietnamese translation was added.
|
||||
|
||||
|
||||
5.1.3alpha (2013-10-26)
|
||||
|
||||
* All fixes from 5.0.5
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed a deadlock in the threaded encoder.
|
||||
|
||||
- Made the uses of lzma_allocator const correct.
|
||||
|
||||
- Added lzma_block_uncomp_encode() to create uncompressed
|
||||
.xz Blocks using LZMA2 uncompressed chunks.
|
||||
|
||||
- Added support for native threads on Windows and the ability
|
||||
to detect the number of CPU cores.
|
||||
|
||||
* xz:
|
||||
|
||||
- Fixed a race condition in the signal handling. It was
|
||||
possible that e.g. the first SIGINT didn't make xz exit
|
||||
if reading or writing blocked and one had bad luck. The fix
|
||||
is non-trivial, so as of writing it is unknown if it will be
|
||||
backported to the v5.0 branch.
|
||||
|
||||
- Made the progress indicator work correctly in threaded mode.
|
||||
|
||||
- Threaded encoder now works together with --block-list=SIZES.
|
||||
|
||||
- Added preliminary support for --flush-timeout=TIMEOUT.
|
||||
It can be useful for (somewhat) real-time streaming. For
|
||||
now the decompression side has to be done with something
|
||||
else than the xz tool due to how xz does buffering, but this
|
||||
should be fixed.
|
||||
|
||||
|
||||
5.1.2alpha (2012-07-04)
|
||||
|
||||
* All fixes from 5.0.3 and 5.0.4
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fixed a deadlock and an invalid free() in the threaded encoder.
|
||||
|
||||
- Added support for symbol versioning. It is enabled by default
|
||||
on GNU/Linux, other GNU-based systems, and FreeBSD.
|
||||
|
||||
- Use SHA-256 implementation from the operating system if one is
|
||||
available in libc, libmd, or libutil. liblzma won't use e.g.
|
||||
OpenSSL or libgcrypt to avoid introducing new dependencies.
|
||||
|
||||
- Fixed liblzma.pc for static linking.
|
||||
|
||||
- Fixed a few portability bugs.
|
||||
|
||||
* xz --decompress --single-stream now fixes the input position after
|
||||
successful decompression. Now the following works:
|
||||
|
||||
echo foo | xz > foo.xz
|
||||
echo bar | xz >> foo.xz
|
||||
( xz -dc --single-stream ; xz -dc --single-stream ) < foo.xz
|
||||
|
||||
Note that it doesn't work if the input is not seekable
|
||||
or if there is Stream Padding between the concatenated
|
||||
.xz Streams.
|
||||
|
||||
* xz -lvv now shows the minimum xz version that is required to
|
||||
decompress the file. Currently it is 5.0.0 for all supported .xz
|
||||
files except files with empty LZMA2 streams require 5.0.2.
|
||||
|
||||
* Added an *incomplete* implementation of --block-list=SIZES to xz.
|
||||
It only works correctly in single-threaded mode and when
|
||||
--block-size isn't used at the same time. --block-list allows
|
||||
specifying the sizes of Blocks which can be useful e.g. when
|
||||
creating files for random-access reading.
|
||||
|
||||
|
||||
5.1.1alpha (2011-04-12)
|
||||
|
||||
* All fixes from 5.0.2
|
||||
|
||||
* liblzma fixes that will also be included in 5.0.3:
|
||||
|
||||
- A memory leak was fixed.
|
||||
|
||||
- lzma_stream_buffer_encode() no longer creates an empty .xz
|
||||
Block if encoding an empty buffer. Such an empty Block with
|
||||
LZMA2 data would trigger a bug in 5.0.1 and older (see the
|
||||
first bullet point in 5.0.2 notes). When releasing 5.0.2,
|
||||
I thought that no encoder creates this kind of files but
|
||||
I was wrong.
|
||||
|
||||
- Validate function arguments better in a few functions. Most
|
||||
importantly, specifying an unsupported integrity check to
|
||||
lzma_stream_buffer_encode() no longer creates a corrupt .xz
|
||||
file. Probably no application tries to do that, so this
|
||||
shouldn't be a big problem in practice.
|
||||
|
||||
- Document that lzma_block_buffer_encode(),
|
||||
lzma_easy_buffer_encode(), lzma_stream_encoder(), and
|
||||
lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK.
|
||||
|
||||
- The return values of the _memusage() functions are now
|
||||
documented better.
|
||||
|
||||
* Support for multithreaded compression was added using the simplest
|
||||
method, which splits the input data into blocks and compresses
|
||||
them independently. Other methods will be added in the future.
|
||||
The current method has room for improvement, e.g. it is possible
|
||||
to reduce the memory usage.
|
||||
|
||||
* Added the options --single-stream and --block-size=SIZE to xz.
|
||||
|
||||
* xzdiff and xzgrep now support .lzo files if lzop is installed.
|
||||
The .tzo suffix is also recognized as a shorthand for .tar.lzo.
|
||||
|
||||
* Support for short 8.3 filenames under DOS was added to xz. It is
|
||||
experimental and may change before it gets into a stable release.
|
||||
|
||||
|
||||
5.0.8 (2014-12-21)
|
||||
|
||||
* Fixed an old bug in xzgrep that affected OpenBSD and probably
|
||||
a few other operating systems too.
|
||||
|
||||
* Updated French and German translations.
|
||||
|
||||
* Added support for detecting the amount of RAM on AmigaOS/AROS.
|
||||
|
||||
* Minor build system updates.
|
||||
|
||||
|
||||
5.0.7 (2014-09-20)
|
||||
|
||||
* Fix regressions introduced in 5.0.6:
|
||||
|
||||
- Fix building with non-GNU make.
|
||||
|
||||
- Fix invalid Libs.private value in liblzma.pc which broke
|
||||
static linking against liblzma if the linker flags were
|
||||
taken from pkg-config.
|
||||
|
||||
|
||||
5.0.6 (2014-09-14)
|
||||
|
||||
* xzgrep now exits with status 0 if at least one file matched.
|
||||
|
||||
* A few minor portability and build system fixes
|
||||
|
||||
|
||||
5.0.5 (2013-06-30)
|
||||
|
||||
* lzmadec and liblzma's lzma_alone_decoder(): Support decompressing
|
||||
.lzma files that have less common settings in the headers
|
||||
(dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed
|
||||
size greater than 256 GiB). The limitations existed to avoid false
|
||||
positives when detecting .lzma files. The lc + lp <= 4 limitation
|
||||
still remains since liblzma's LZMA decoder has that limitation.
|
||||
|
||||
NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT
|
||||
affected by this change. They still consider uncommon .lzma headers
|
||||
as not being in the .lzma format. Changing this would give way too
|
||||
many false positives.
|
||||
|
||||
* xz:
|
||||
|
||||
- Interaction of preset and custom filter chain options was
|
||||
made less illogical. This affects only certain less typical
|
||||
uses cases so few people are expected to notice this change.
|
||||
|
||||
Now when a custom filter chain option (e.g. --lzma2) is
|
||||
specified, all preset options (-0 ... -9, -e) earlier are on
|
||||
the command line are completely forgotten. Similarly, when
|
||||
a preset option is specified, all custom filter chain options
|
||||
earlier on the command line are completely forgotten.
|
||||
|
||||
Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e"
|
||||
which is equivalent to "xz -6e". Earlier -e didn't put xz back
|
||||
into preset mode and thus the example command was equivalent
|
||||
to "xz --lzma2=preset=5".
|
||||
|
||||
Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to
|
||||
"xz -7". Earlier a custom filter chain option didn't make
|
||||
xz forget the -e option so the example was equivalent to
|
||||
"xz -7e".
|
||||
|
||||
- Fixes and improvements to error handling.
|
||||
|
||||
- Various fixes to the man page.
|
||||
|
||||
* xzless: Fixed to work with "less" versions 448 and later.
|
||||
|
||||
* xzgrep: Made -h an alias for --no-filename.
|
||||
|
||||
* Include the previously missing debug/translation.bash which can
|
||||
be useful for translators.
|
||||
|
||||
* Include a build script for Mac OS X. This has been in the Git
|
||||
repository since 2010 but due to a mistake in Makefile.am the
|
||||
script hasn't been included in a release tarball before.
|
||||
|
||||
|
||||
5.0.4 (2012-06-22)
|
||||
|
||||
* liblzma:
|
||||
|
||||
- Fix lzma_index_init(). It could crash if memory allocation
|
||||
failed.
|
||||
|
||||
- Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ
|
||||
filter is used and the application only provides exactly as
|
||||
much output space as is the uncompressed size of the file.
|
||||
|
||||
- Fix a bug in doc/examples_old/xz_pipe_decompress.c. It didn't
|
||||
check if the last call to lzma_code() really returned
|
||||
LZMA_STREAM_END, which made the program think that truncated
|
||||
files are valid.
|
||||
|
||||
- New example programs in doc/examples (old programs are now in
|
||||
doc/examples_old). These have more comments and more detailed
|
||||
error handling.
|
||||
|
||||
* Fix "xz -lvv foo.xz". It could crash on some corrupted files.
|
||||
|
||||
* Fix output of "xz --robot -lv" and "xz --robot -lvv" which
|
||||
incorrectly printed the filename also in the "foo (x/x)" format.
|
||||
|
||||
* Fix exit status of "xzdiff foo.xz bar.xz".
|
||||
|
||||
* Fix exit status of "xzgrep foo binary_file".
|
||||
|
||||
* Fix portability to EBCDIC systems.
|
||||
|
||||
* Fix a configure issue on AIX with the XL C compiler. See INSTALL
|
||||
for details.
|
||||
|
||||
* Update French, German, Italian, and Polish translations.
|
||||
|
||||
|
||||
5.0.3 (2011-05-21)
|
||||
|
||||
* liblzma fixes:
|
||||
|
||||
- A memory leak was fixed.
|
||||
|
||||
- lzma_stream_buffer_encode() no longer creates an empty .xz
|
||||
Block if encoding an empty buffer. Such an empty Block with
|
||||
LZMA2 data would trigger a bug in 5.0.1 and older (see the
|
||||
first bullet point in 5.0.2 notes). When releasing 5.0.2,
|
||||
I thought that no encoder creates this kind of files but
|
||||
I was wrong.
|
||||
|
||||
- Validate function arguments better in a few functions. Most
|
||||
importantly, specifying an unsupported integrity check to
|
||||
lzma_stream_buffer_encode() no longer creates a corrupt .xz
|
||||
file. Probably no application tries to do that, so this
|
||||
shouldn't be a big problem in practice.
|
||||
|
||||
- Document that lzma_block_buffer_encode(),
|
||||
lzma_easy_buffer_encode(), lzma_stream_encoder(), and
|
||||
lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK.
|
||||
|
||||
- The return values of the _memusage() functions are now
|
||||
documented better.
|
||||
|
||||
* Fix command name detection in xzgrep. xzegrep and xzfgrep now
|
||||
correctly use egrep and fgrep instead of grep.
|
||||
|
||||
* French translation was added.
|
||||
|
||||
|
||||
5.0.2 (2011-04-01)
|
||||
|
||||
* LZMA2 decompressor now correctly accepts LZMA2 streams with no
|
||||
uncompressed data. Previously it considered them corrupt. The
|
||||
bug can affect applications that use raw LZMA2 streams. It is
|
||||
very unlikely to affect .xz files because no compressor creates
|
||||
.xz files with empty LZMA2 streams. (Empty .xz files are a
|
||||
different thing than empty LZMA2 streams.)
|
||||
|
||||
* "xz --suffix=.foo filename.foo" now refuses to compress the
|
||||
file due to it already having the suffix .foo. It was already
|
||||
documented on the man page, but the code lacked the test.
|
||||
|
||||
* "xzgrep -l foo bar.xz" works now.
|
||||
|
||||
* Polish translation was added.
|
||||
|
||||
|
||||
5.0.1 (2011-01-29)
|
||||
|
||||
* xz --force now (de)compresses files that have setuid, setgid,
|
||||
or sticky bit set and files that have multiple hard links.
|
||||
The man page had it documented this way already, but the code
|
||||
had a bug.
|
||||
|
||||
* gzip and bzip2 support in xzdiff was fixed.
|
||||
|
||||
* Portability fixes
|
||||
|
||||
* Minor fix to Czech translation
|
||||
|
||||
|
||||
5.0.0 (2010-10-23)
|
||||
|
||||
Only the most important changes compared to 4.999.9beta are listed
|
||||
here. One change is especially important:
|
||||
|
||||
* The memory usage limit is now disabled by default. Some scripts
|
||||
written before this change may have used --memory=max on xz command
|
||||
line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED
|
||||
NOW, because they interfere with user's ability to set the memory
|
||||
usage limit himself. If user-specified limit causes problems to
|
||||
your script, blame the user.
|
||||
|
||||
Other significant changes:
|
||||
|
||||
* Added support for XZ_DEFAULTS environment variable. This variable
|
||||
allows users to set default options for xz, e.g. default memory
|
||||
usage limit or default compression level. Scripts that use xz
|
||||
must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT
|
||||
instead if they need a way to pass options to xz via an
|
||||
environment variable.
|
||||
|
||||
* The compression settings associated with the preset levels
|
||||
-0 ... -9 have been changed. --extreme was changed a little too.
|
||||
It is now less likely to make compression worse, but with some
|
||||
files the new --extreme may compress slightly worse than the old
|
||||
--extreme.
|
||||
|
||||
* If a preset level (-0 ... -9) is specified after a custom filter
|
||||
chain options have been used (e.g. --lzma2), the custom filter
|
||||
chain will be forgotten. Earlier the preset options were
|
||||
completely ignored after custom filter chain options had been
|
||||
seen.
|
||||
|
||||
* xz will create sparse files when decompressing if the uncompressed
|
||||
data contains long sequences of binary zeros. This is done even
|
||||
when writing to standard output that is connected to a regular
|
||||
file and certain additional conditions are met to make it safe.
|
||||
|
||||
* Support for "xz --list" was added. Combine with --verbose or
|
||||
--verbose --verbose (-vv) for detailed output.
|
||||
|
||||
* I had hoped that liblzma API would have been stable after
|
||||
4.999.9beta, but there have been a couple of changes in the
|
||||
advanced features, which don't affect most applications:
|
||||
|
||||
- Index handling code was revised. If you were using the old
|
||||
API, you will get a compiler error (so it's easy to notice).
|
||||
|
||||
- A subtle but important change was made to the Block handling
|
||||
API. lzma_block.version has to be initialized even for
|
||||
lzma_block_header_decode(). Code that doesn't do it will work
|
||||
for now, but might break in the future, which makes this API
|
||||
change easy to miss.
|
||||
|
||||
* The major soname has been bumped to 5.0.0. liblzma API and ABI
|
||||
are now stable, so the need to recompile programs linking against
|
||||
liblzma shouldn't arise soon.
|
||||
|
||||
235
.CondaPkg/env/share/doc/xz/README
vendored
235
.CondaPkg/env/share/doc/xz/README
vendored
@@ -1,235 +0,0 @@
|
||||
|
||||
XZ Utils
|
||||
========
|
||||
|
||||
0. Overview
|
||||
1. Documentation
|
||||
1.1. Overall documentation
|
||||
1.2. Documentation for command-line tools
|
||||
1.3. Documentation for liblzma
|
||||
2. Version numbering
|
||||
3. Reporting bugs
|
||||
4. Translations
|
||||
5. Other implementations of the .xz format
|
||||
6. Contact information
|
||||
|
||||
|
||||
0. Overview
|
||||
-----------
|
||||
|
||||
XZ Utils provide a general-purpose data-compression library plus
|
||||
command-line tools. The native file format is the .xz format, but
|
||||
also the legacy .lzma format is supported. The .xz format supports
|
||||
multiple compression algorithms, which are called "filters" in the
|
||||
context of XZ Utils. The primary filter is currently LZMA2. With
|
||||
typical files, XZ Utils create about 30 % smaller files than gzip.
|
||||
|
||||
To ease adapting support for the .xz format into existing applications
|
||||
and scripts, the API of liblzma is somewhat similar to the API of the
|
||||
popular zlib library. For the same reason, the command-line tool xz
|
||||
has a command-line syntax similar to that of gzip.
|
||||
|
||||
When aiming for the highest compression ratio, the LZMA2 encoder uses
|
||||
a lot of CPU time and may use, depending on the settings, even
|
||||
hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder
|
||||
competes with bzip2 in compression speed, RAM usage, and compression
|
||||
ratio.
|
||||
|
||||
LZMA2 is reasonably fast to decompress. It is a little slower than
|
||||
gzip, but a lot faster than bzip2. Being fast to decompress means
|
||||
that the .xz format is especially nice when the same file will be
|
||||
decompressed very many times (usually on different computers), which
|
||||
is the case e.g. when distributing software packages. In such
|
||||
situations, it's not too bad if the compression takes some time,
|
||||
since that needs to be done only once to benefit many people.
|
||||
|
||||
With some file types, combining (or "chaining") LZMA2 with an
|
||||
additional filter can improve the compression ratio. A filter chain may
|
||||
contain up to four filters, although usually only one or two are used.
|
||||
For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2
|
||||
in the filter chain can improve compression ratio of executable files.
|
||||
|
||||
Since the .xz format allows adding new filter IDs, it is possible that
|
||||
some day there will be a filter that is, for example, much faster to
|
||||
compress than LZMA2 (but probably with worse compression ratio).
|
||||
Similarly, it is possible that some day there is a filter that will
|
||||
compress better than LZMA2.
|
||||
|
||||
XZ Utils supports multithreaded compression. XZ Utils doesn't support
|
||||
multithreaded decompression yet. It has been planned though and taken
|
||||
into account when designing the .xz file format. In the future, files
|
||||
that were created in threaded mode can be decompressed in threaded
|
||||
mode too.
|
||||
|
||||
|
||||
1. Documentation
|
||||
----------------
|
||||
|
||||
1.1. Overall documentation
|
||||
|
||||
README This file
|
||||
|
||||
INSTALL.generic Generic install instructions for those not familiar
|
||||
with packages using GNU Autotools
|
||||
INSTALL Installation instructions specific to XZ Utils
|
||||
PACKAGERS Information to packagers of XZ Utils
|
||||
|
||||
COPYING XZ Utils copyright and license information
|
||||
COPYING.GPLv2 GNU General Public License version 2
|
||||
COPYING.GPLv3 GNU General Public License version 3
|
||||
COPYING.LGPLv2.1 GNU Lesser General Public License version 2.1
|
||||
|
||||
AUTHORS The main authors of XZ Utils
|
||||
THANKS Incomplete list of people who have helped making
|
||||
this software
|
||||
NEWS User-visible changes between XZ Utils releases
|
||||
ChangeLog Detailed list of changes (commit log)
|
||||
TODO Known bugs and some sort of to-do list
|
||||
|
||||
Note that only some of the above files are included in binary
|
||||
packages.
|
||||
|
||||
|
||||
1.2. Documentation for command-line tools
|
||||
|
||||
The command-line tools are documented as man pages. In source code
|
||||
releases (and possibly also in some binary packages), the man pages
|
||||
are also provided in plain text (ASCII only) and PDF formats in the
|
||||
directory "doc/man" to make the man pages more accessible to those
|
||||
whose operating system doesn't provide an easy way to view man pages.
|
||||
|
||||
|
||||
1.3. Documentation for liblzma
|
||||
|
||||
The liblzma API headers include short docs about each function
|
||||
and data type as Doxygen tags. These docs should be quite OK as
|
||||
a quick reference.
|
||||
|
||||
There are a few example/tutorial programs that should help in
|
||||
getting started with liblzma. In the source package the examples
|
||||
are in "doc/examples" and in binary packages they may be under
|
||||
"examples" in the same directory as this README.
|
||||
|
||||
Since the liblzma API has similarities to the zlib API, some people
|
||||
may find it useful to read the zlib docs and tutorial too:
|
||||
|
||||
http://zlib.net/manual.html
|
||||
http://zlib.net/zlib_how.html
|
||||
|
||||
|
||||
2. Version numbering
|
||||
--------------------
|
||||
|
||||
The version number format of XZ Utils is X.Y.ZS:
|
||||
|
||||
- X is the major version. When this is incremented, the library
|
||||
API and ABI break.
|
||||
|
||||
- Y is the minor version. It is incremented when new features
|
||||
are added without breaking the existing API or ABI. An even Y
|
||||
indicates a stable release and an odd Y indicates unstable
|
||||
(alpha or beta version).
|
||||
|
||||
- Z is the revision. This has a different meaning for stable and
|
||||
unstable releases:
|
||||
|
||||
* Stable: Z is incremented when bugs get fixed without adding
|
||||
any new features. This is intended to be convenient for
|
||||
downstream distributors that want bug fixes but don't want
|
||||
any new features to minimize the risk of introducing new bugs.
|
||||
|
||||
* Unstable: Z is just a counter. API or ABI of features added
|
||||
in earlier unstable releases having the same X.Y may break.
|
||||
|
||||
- S indicates stability of the release. It is missing from the
|
||||
stable releases, where Y is an even number. When Y is odd, S
|
||||
is either "alpha" or "beta" to make it very clear that such
|
||||
versions are not stable releases. The same X.Y.Z combination is
|
||||
not used for more than one stability level, i.e. after X.Y.Zalpha,
|
||||
the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta.
|
||||
|
||||
|
||||
3. Reporting bugs
|
||||
-----------------
|
||||
|
||||
Naturally it is easiest for me if you already know what causes the
|
||||
unexpected behavior. Even better if you have a patch to propose.
|
||||
However, quite often the reason for unexpected behavior is unknown,
|
||||
so here are a few things to do before sending a bug report:
|
||||
|
||||
1. Try to create a small example how to reproduce the issue.
|
||||
|
||||
2. Compile XZ Utils with debugging code using configure switches
|
||||
--enable-debug and, if possible, --disable-shared. If you are
|
||||
using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting
|
||||
binaries.
|
||||
|
||||
3. Turn on core dumps. The exact command depends on your shell;
|
||||
for example in GNU bash it is done with "ulimit -c unlimited",
|
||||
and in tcsh with "limit coredumpsize unlimited".
|
||||
|
||||
4. Try to reproduce the suspected bug. If you get "assertion failed"
|
||||
message, be sure to include the complete message in your bug
|
||||
report. If the application leaves a coredump, get a backtrace
|
||||
using gdb:
|
||||
$ gdb /path/to/app-binary # Load the app to the debugger.
|
||||
(gdb) core core # Open the coredump.
|
||||
(gdb) bt # Print the backtrace. Copy & paste to bug report.
|
||||
(gdb) quit # Quit gdb.
|
||||
|
||||
Report your bug via email or IRC (see Contact information below).
|
||||
Don't send core dump files or any executables. If you have a small
|
||||
example file(s) (total size less than 256 KiB), please include
|
||||
it/them as an attachment. If you have bigger test files, put them
|
||||
online somewhere and include a URL to the file(s) in the bug report.
|
||||
|
||||
Always include the exact version number of XZ Utils in the bug report.
|
||||
If you are using a snapshot from the git repository, use "git describe"
|
||||
to get the exact snapshot version. If you are using XZ Utils shipped
|
||||
in an operating system distribution, mention the distribution name,
|
||||
distribution version, and exact xz package version; if you cannot
|
||||
repeat the bug with the code compiled from unpatched source code,
|
||||
you probably need to report a bug to your distribution's bug tracking
|
||||
system.
|
||||
|
||||
|
||||
4. Translations
|
||||
---------------
|
||||
|
||||
The xz command line tool and all man pages can be translated.
|
||||
The translations are handled via the Translation Project. If you
|
||||
wish to help translating xz, please join the Translation Project:
|
||||
|
||||
https://translationproject.org/html/translators.html
|
||||
|
||||
Several strings will change in a future version of xz so if you
|
||||
wish to start a new translation, look at the code in the xz git
|
||||
repository instead of a 5.2.x release.
|
||||
|
||||
|
||||
5. Other implementations of the .xz format
|
||||
------------------------------------------
|
||||
|
||||
7-Zip and the p7zip port of 7-Zip support the .xz format starting
|
||||
from the version 9.00alpha.
|
||||
|
||||
http://7-zip.org/
|
||||
http://p7zip.sourceforge.net/
|
||||
|
||||
XZ Embedded is a limited implementation written for use in the Linux
|
||||
kernel, but it is also suitable for other embedded use.
|
||||
|
||||
https://tukaani.org/xz/embedded.html
|
||||
|
||||
|
||||
6. Contact information
|
||||
----------------------
|
||||
|
||||
If you have questions, bug reports, patches etc. related to XZ Utils,
|
||||
the project maintainers Lasse Collin and Jia Tan can be reached via
|
||||
<xz@tukaani.org>.
|
||||
|
||||
You might find Lasse also from #tukaani on Libera Chat (IRC).
|
||||
The nick is Larhzu. The channel tends to be pretty quiet,
|
||||
so just ask your question and someone might wake up.
|
||||
|
||||
159
.CondaPkg/env/share/doc/xz/THANKS
vendored
159
.CondaPkg/env/share/doc/xz/THANKS
vendored
@@ -1,159 +0,0 @@
|
||||
|
||||
Thanks
|
||||
======
|
||||
|
||||
Some people have helped more, some less, but nevertheless everyone's help
|
||||
has been important. :-) In alphabetical order:
|
||||
- Mark Adler
|
||||
- H. Peter Anvin
|
||||
- Jeff Bastian
|
||||
- Nelson H. F. Beebe
|
||||
- Karl Beldan
|
||||
- Karl Berry
|
||||
- Anders F. Björklund
|
||||
- Emmanuel Blot
|
||||
- Melanie Blower
|
||||
- Alexander Bluhm
|
||||
- Martin Blumenstingl
|
||||
- Ben Boeckel
|
||||
- Jakub Bogusz
|
||||
- Adam Borowski
|
||||
- Maarten Bosmans
|
||||
- Trent W. Buck
|
||||
- Kevin R. Bulgrien
|
||||
- James Buren
|
||||
- David Burklund
|
||||
- Daniel Mealha Cabrita
|
||||
- Milo Casagrande
|
||||
- Marek Černocký
|
||||
- Tomer Chachamu
|
||||
- Vitaly Chikunov
|
||||
- Antoine Cœur
|
||||
- Gabi Davar
|
||||
- Chris Donawa
|
||||
- Andrew Dudman
|
||||
- Markus Duft
|
||||
- İsmail Dönmez
|
||||
- Paul Eggert
|
||||
- Robert Elz
|
||||
- Gilles Espinasse
|
||||
- Denis Excoffier
|
||||
- Michael Felt
|
||||
- Michael Fox
|
||||
- Mike Frysinger
|
||||
- Daniel Richard G.
|
||||
- Tomasz Gajc
|
||||
- Bjarni Ingi Gislason
|
||||
- John Paul Adrian Glaubitz
|
||||
- Bill Glessner
|
||||
- Michał Górny
|
||||
- Jason Gorski
|
||||
- Juan Manuel Guerrero
|
||||
- Diederik de Haas
|
||||
- Joachim Henke
|
||||
- Christian Hesse
|
||||
- Vincenzo Innocente
|
||||
- Peter Ivanov
|
||||
- Nicholas Jackson
|
||||
- Sam James
|
||||
- Jouk Jansen
|
||||
- Jun I Jin
|
||||
- Kiyoshi Kanazawa
|
||||
- Per Øyvind Karlsen
|
||||
- Thomas Klausner
|
||||
- Richard Koch
|
||||
- Ville Koskinen
|
||||
- Jan Kratochvil
|
||||
- Christian Kujau
|
||||
- Stephan Kulow
|
||||
- Peter Lawler
|
||||
- James M Leddy
|
||||
- Vincent Lefevre
|
||||
- Hin-Tak Leung
|
||||
- Andraž 'ruskie' Levstik
|
||||
- Cary Lewis
|
||||
- Wim Lewis
|
||||
- Xin Li
|
||||
- Eric Lindblad
|
||||
- Lorenzo De Liso
|
||||
- H.J. Lu
|
||||
- Bela Lubkin
|
||||
- Gregory Margo
|
||||
- Julien Marrec
|
||||
- Ed Maste
|
||||
- Martin Matuška
|
||||
- Ivan A. Melnikov
|
||||
- Jim Meyering
|
||||
- Arkadiusz Miskiewicz
|
||||
- Nathan Moinvaziri
|
||||
- Étienne Mollier
|
||||
- Conley Moorhous
|
||||
- Rafał Mużyło
|
||||
- Adrien Nader
|
||||
- Evan Nemerson
|
||||
- Hongbo Ni
|
||||
- Jonathan Nieder
|
||||
- Andre Noll
|
||||
- Peter O'Gorman
|
||||
- Daniel Packard
|
||||
- Filip Palian
|
||||
- Peter Pallinger
|
||||
- Rui Paulo
|
||||
- Igor Pavlov
|
||||
- Diego Elio Pettenò
|
||||
- Elbert Pol
|
||||
- Mikko Pouru
|
||||
- Rich Prohaska
|
||||
- Trần Ngọc Quân
|
||||
- Pavel Raiskup
|
||||
- Ole André Vadla Ravnås
|
||||
- Eric S. Raymond
|
||||
- Robert Readman
|
||||
- Bernhard Reutner-Fischer
|
||||
- Markus Rickert
|
||||
- Cristian Rodríguez
|
||||
- Christian von Roques
|
||||
- Boud Roukema
|
||||
- Torsten Rupp
|
||||
- Stephen Sachs
|
||||
- Jukka Salmi
|
||||
- Alexandre Sauvé
|
||||
- Benno Schulenberg
|
||||
- Andreas Schwab
|
||||
- Bhargava Shastry
|
||||
- Dan Shechter
|
||||
- Stuart Shelton
|
||||
- Sebastian Andrzej Siewior
|
||||
- Ville Skyttä
|
||||
- Brad Smith
|
||||
- Bruce Stark
|
||||
- Pippijn van Steenhoven
|
||||
- Jonathan Stott
|
||||
- Dan Stromberg
|
||||
- Jia Tan
|
||||
- Vincent Torri
|
||||
- Paul Townsend
|
||||
- Mohammed Adnène Trojette
|
||||
- Alexey Tourbin
|
||||
- Loganaden Velvindron
|
||||
- Patrick J. Volkerding
|
||||
- Martin Väth
|
||||
- Adam Walling
|
||||
- Jeffrey Walton
|
||||
- Christian Weisgerber
|
||||
- Dan Weiss
|
||||
- Bert Wesarg
|
||||
- Fredrik Wikstrom
|
||||
- Jim Wilcoxson
|
||||
- Ralf Wildenhues
|
||||
- Charles Wilson
|
||||
- Lars Wirzenius
|
||||
- Pilorz Wojciech
|
||||
- Ryan Young
|
||||
- Andreas Zieringer
|
||||
|
||||
Also thanks to all the people who have participated in the Tukaani project.
|
||||
|
||||
I have probably forgot to add some names to the above list. Sorry about
|
||||
that and thanks for your help.
|
||||
|
||||
111
.CondaPkg/env/share/doc/xz/TODO
vendored
111
.CondaPkg/env/share/doc/xz/TODO
vendored
@@ -1,111 +0,0 @@
|
||||
|
||||
XZ Utils To-Do List
|
||||
===================
|
||||
|
||||
Known bugs
|
||||
----------
|
||||
|
||||
The test suite is too incomplete.
|
||||
|
||||
If the memory usage limit is less than about 13 MiB, xz is unable to
|
||||
automatically scale down the compression settings enough even though
|
||||
it would be possible by switching from BT2/BT3/BT4 match finder to
|
||||
HC3/HC4.
|
||||
|
||||
XZ Utils compress some files significantly worse than LZMA Utils.
|
||||
This is due to faster compression presets used by XZ Utils, and
|
||||
can often be worked around by using "xz --extreme". With some files
|
||||
--extreme isn't enough though: it's most likely with files that
|
||||
compress extremely well, so going from compression ratio of 0.003
|
||||
to 0.004 means big relative increase in the compressed file size.
|
||||
|
||||
xz doesn't quote unprintable characters when it displays file names
|
||||
given on the command line.
|
||||
|
||||
tuklib_exit() doesn't block signals => EINTR is possible.
|
||||
|
||||
SIGTSTP is not handled. If xz is stopped, the estimated remaining
|
||||
time and calculated (de)compression speed won't make sense in the
|
||||
progress indicator (xz --verbose).
|
||||
|
||||
If liblzma has created threads and fork() gets called, liblzma
|
||||
code will break in the child process unless it calls exec() and
|
||||
doesn't touch liblzma.
|
||||
|
||||
|
||||
Missing features
|
||||
----------------
|
||||
|
||||
Add support for storing metadata in .xz files. A preliminary
|
||||
idea is to create a new Stream type for metadata. When both
|
||||
metadata and data are wanted in the same .xz file, two or more
|
||||
Streams would be concatenated.
|
||||
|
||||
The state stored in lzma_stream should be cloneable, which would
|
||||
be mostly useful when using a preset dictionary in LZMA2, but
|
||||
it may have other uses too. Compare to deflateCopy() in zlib.
|
||||
|
||||
Support LZMA_FINISH in raw decoder to indicate end of LZMA1 and
|
||||
other streams that don't have an end of payload marker.
|
||||
|
||||
Adjust dictionary size when the input file size is known.
|
||||
Maybe do this only if an option is given.
|
||||
|
||||
xz doesn't support copying extended attributes, access control
|
||||
lists etc. from source to target file.
|
||||
|
||||
Multithreaded compression:
|
||||
- Reduce memory usage of the current method.
|
||||
- Implement threaded match finders.
|
||||
- Implement pigz-style threading in LZMA2.
|
||||
|
||||
Multithreaded decompression
|
||||
|
||||
Buffer-to-buffer coding could use less RAM (especially when
|
||||
decompressing LZMA1 or LZMA2).
|
||||
|
||||
I/O library is not implemented (similar to gzopen() in zlib).
|
||||
It will be a separate library that supports uncompressed, .gz,
|
||||
.bz2, .lzma, and .xz files.
|
||||
|
||||
Support changing lzma_options_lzma.mode with lzma_filters_update().
|
||||
|
||||
Support LZMA_FULL_FLUSH for lzma_stream_decoder() to stop at
|
||||
Block and Stream boundaries.
|
||||
|
||||
lzma_strerror() to convert lzma_ret to human readable form?
|
||||
This is tricky, because the same error codes are used with
|
||||
slightly different meanings, and this cannot be fixed anymore.
|
||||
|
||||
Make it possible to adjust LZMA2 options in the middle of a Block
|
||||
so that the encoding speed vs. compression ratio can be optimized
|
||||
when the compressed data is streamed over network.
|
||||
|
||||
Improved BCJ filters. The current filters are small but they aren't
|
||||
so great when compressing binary packages that contain various file
|
||||
types. Specifically, they make things worse if there are static
|
||||
libraries or Linux kernel modules. The filtering could also be
|
||||
more effective (without getting overly complex), for example,
|
||||
streamable variant BCJ2 from 7-Zip could be implemented.
|
||||
|
||||
Filter that autodetects specific data types in the input stream
|
||||
and applies appropriate filters for the corrects parts of the input.
|
||||
Perhaps combine this with the BCJ filter improvement point above.
|
||||
|
||||
Long-range LZ77 method as a separate filter or as a new LZMA2
|
||||
match finder.
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
More tutorial programs are needed for liblzma.
|
||||
|
||||
Document the LZMA1 and LZMA2 algorithms.
|
||||
|
||||
|
||||
Miscellaneous
|
||||
------------
|
||||
|
||||
Try to get the media type for .xz registered at IANA.
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
|
||||
liblzma example programs
|
||||
========================
|
||||
|
||||
Introduction
|
||||
|
||||
The examples are written so that the same comments aren't
|
||||
repeated (much) in later files.
|
||||
|
||||
On POSIX systems, the examples should build by just typing "make".
|
||||
|
||||
The examples that use stdin or stdout don't set stdin and stdout
|
||||
to binary mode. On systems where it matters (e.g. Windows) it is
|
||||
possible that the examples won't work without modification.
|
||||
|
||||
|
||||
List of examples
|
||||
|
||||
01_compress_easy.c Multi-call compression using
|
||||
a compression preset
|
||||
|
||||
02_decompress.c Multi-call decompression
|
||||
|
||||
03_compress_custom.c Like 01_compress_easy.c but using
|
||||
a custom filter chain
|
||||
(x86 BCJ + LZMA2)
|
||||
|
||||
04_compress_easy_mt.c Multi-threaded multi-call
|
||||
compression using a compression
|
||||
preset
|
||||
|
||||
@@ -1,297 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
/// \file 01_compress_easy.c
|
||||
/// \brief Compress from stdin to stdout in multi-call mode
|
||||
///
|
||||
/// Usage: ./01_compress_easy PRESET < INFILE > OUTFILE
|
||||
///
|
||||
/// Example: ./01_compress_easy 6 < foo > foo.xz
|
||||
//
|
||||
// Author: Lasse Collin
|
||||
//
|
||||
// This file has been put into the public domain.
|
||||
// You can do whatever you want with this file.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
static void
|
||||
show_usage_and_exit(const char *argv0)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s PRESET < INFILE > OUTFILE\n"
|
||||
"PRESET is a number 0-9 and can optionally be "
|
||||
"followed by `e' to indicate extreme preset\n",
|
||||
argv0);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
||||
static uint32_t
|
||||
get_preset(int argc, char **argv)
|
||||
{
|
||||
// One argument whose first char must be 0-9.
|
||||
if (argc != 2 || argv[1][0] < '0' || argv[1][0] > '9')
|
||||
show_usage_and_exit(argv[0]);
|
||||
|
||||
// Calculate the preste level 0-9.
|
||||
uint32_t preset = argv[1][0] - '0';
|
||||
|
||||
// If there is a second char, it must be 'e'. It will set
|
||||
// the LZMA_PRESET_EXTREME flag.
|
||||
if (argv[1][1] != '\0') {
|
||||
if (argv[1][1] != 'e' || argv[1][2] != '\0')
|
||||
show_usage_and_exit(argv[0]);
|
||||
|
||||
preset |= LZMA_PRESET_EXTREME;
|
||||
}
|
||||
|
||||
return preset;
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
init_encoder(lzma_stream *strm, uint32_t preset)
|
||||
{
|
||||
// Initialize the encoder using a preset. Set the integrity to check
|
||||
// to CRC64, which is the default in the xz command line tool. If
|
||||
// the .xz file needs to be decompressed with XZ Embedded, use
|
||||
// LZMA_CHECK_CRC32 instead.
|
||||
lzma_ret ret = lzma_easy_encoder(strm, preset, LZMA_CHECK_CRC64);
|
||||
|
||||
// Return successfully if the initialization went fine.
|
||||
if (ret == LZMA_OK)
|
||||
return true;
|
||||
|
||||
// Something went wrong. The possible errors are documented in
|
||||
// lzma/container.h (src/liblzma/api/lzma/container.h in the source
|
||||
// package or e.g. /usr/include/lzma/container.h depending on the
|
||||
// install prefix).
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
msg = "Specified preset is not supported";
|
||||
break;
|
||||
|
||||
case LZMA_UNSUPPORTED_CHECK:
|
||||
msg = "Specified integrity check is not supported";
|
||||
break;
|
||||
|
||||
default:
|
||||
// This is most likely LZMA_PROG_ERROR indicating a bug in
|
||||
// this program or in liblzma. It is inconvenient to have a
|
||||
// separate error message for errors that should be impossible
|
||||
// to occur, but knowing the error code is important for
|
||||
// debugging. That's why it is good to print the error code
|
||||
// at least when there is no good error message to show.
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
compress(lzma_stream *strm, FILE *infile, FILE *outfile)
|
||||
{
|
||||
// This will be LZMA_RUN until the end of the input file is reached.
|
||||
// This tells lzma_code() when there will be no more input.
|
||||
lzma_action action = LZMA_RUN;
|
||||
|
||||
// Buffers to temporarily hold uncompressed input
|
||||
// and compressed output.
|
||||
uint8_t inbuf[BUFSIZ];
|
||||
uint8_t outbuf[BUFSIZ];
|
||||
|
||||
// Initialize the input and output pointers. Initializing next_in
|
||||
// and avail_in isn't really necessary when we are going to encode
|
||||
// just one file since LZMA_STREAM_INIT takes care of initializing
|
||||
// those already. But it doesn't hurt much and it will be needed
|
||||
// if encoding more than one file like we will in 02_decompress.c.
|
||||
//
|
||||
// While we don't care about strm->total_in or strm->total_out in this
|
||||
// example, it is worth noting that initializing the encoder will
|
||||
// always reset total_in and total_out to zero. But the encoder
|
||||
// initialization doesn't touch next_in, avail_in, next_out, or
|
||||
// avail_out.
|
||||
strm->next_in = NULL;
|
||||
strm->avail_in = 0;
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
|
||||
// Loop until the file has been successfully compressed or until
|
||||
// an error occurs.
|
||||
while (true) {
|
||||
// Fill the input buffer if it is empty.
|
||||
if (strm->avail_in == 0 && !feof(infile)) {
|
||||
strm->next_in = inbuf;
|
||||
strm->avail_in = fread(inbuf, 1, sizeof(inbuf),
|
||||
infile);
|
||||
|
||||
if (ferror(infile)) {
|
||||
fprintf(stderr, "Read error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
// Once the end of the input file has been reached,
|
||||
// we need to tell lzma_code() that no more input
|
||||
// will be coming and that it should finish the
|
||||
// encoding.
|
||||
if (feof(infile))
|
||||
action = LZMA_FINISH;
|
||||
}
|
||||
|
||||
// Tell liblzma do the actual encoding.
|
||||
//
|
||||
// This reads up to strm->avail_in bytes of input starting
|
||||
// from strm->next_in. avail_in will be decremented and
|
||||
// next_in incremented by an equal amount to match the
|
||||
// number of input bytes consumed.
|
||||
//
|
||||
// Up to strm->avail_out bytes of compressed output will be
|
||||
// written starting from strm->next_out. avail_out and next_out
|
||||
// will be incremented by an equal amount to match the number
|
||||
// of output bytes written.
|
||||
//
|
||||
// The encoder has to do internal buffering, which means that
|
||||
// it may take quite a bit of input before the same data is
|
||||
// available in compressed form in the output buffer.
|
||||
lzma_ret ret = lzma_code(strm, action);
|
||||
|
||||
// If the output buffer is full or if the compression finished
|
||||
// successfully, write the data from the output buffer to
|
||||
// the output file.
|
||||
if (strm->avail_out == 0 || ret == LZMA_STREAM_END) {
|
||||
// When lzma_code() has returned LZMA_STREAM_END,
|
||||
// the output buffer is likely to be only partially
|
||||
// full. Calculate how much new data there is to
|
||||
// be written to the output file.
|
||||
size_t write_size = sizeof(outbuf) - strm->avail_out;
|
||||
|
||||
if (fwrite(outbuf, 1, write_size, outfile)
|
||||
!= write_size) {
|
||||
fprintf(stderr, "Write error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
// Reset next_out and avail_out.
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
}
|
||||
|
||||
// Normally the return value of lzma_code() will be LZMA_OK
|
||||
// until everything has been encoded.
|
||||
if (ret != LZMA_OK) {
|
||||
// Once everything has been encoded successfully, the
|
||||
// return value of lzma_code() will be LZMA_STREAM_END.
|
||||
//
|
||||
// It is important to check for LZMA_STREAM_END. Do not
|
||||
// assume that getting ret != LZMA_OK would mean that
|
||||
// everything has gone well.
|
||||
if (ret == LZMA_STREAM_END)
|
||||
return true;
|
||||
|
||||
// It's not LZMA_OK nor LZMA_STREAM_END,
|
||||
// so it must be an error code. See lzma/base.h
|
||||
// (src/liblzma/api/lzma/base.h in the source package
|
||||
// or e.g. /usr/include/lzma/base.h depending on the
|
||||
// install prefix) for the list and documentation of
|
||||
// possible values. Most values listen in lzma_ret
|
||||
// enumeration aren't possible in this example.
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_DATA_ERROR:
|
||||
// This error is returned if the compressed
|
||||
// or uncompressed size get near 8 EiB
|
||||
// (2^63 bytes) because that's where the .xz
|
||||
// file format size limits currently are.
|
||||
// That is, the possibility of this error
|
||||
// is mostly theoretical unless you are doing
|
||||
// something very unusual.
|
||||
//
|
||||
// Note that strm->total_in and strm->total_out
|
||||
// have nothing to do with this error. Changing
|
||||
// those variables won't increase or decrease
|
||||
// the chance of getting this error.
|
||||
msg = "File size limits exceeded";
|
||||
break;
|
||||
|
||||
default:
|
||||
// This is most likely LZMA_PROG_ERROR, but
|
||||
// if this program is buggy (or liblzma has
|
||||
// a bug), it may be e.g. LZMA_BUF_ERROR or
|
||||
// LZMA_OPTIONS_ERROR too.
|
||||
//
|
||||
// It is inconvenient to have a separate
|
||||
// error message for errors that should be
|
||||
// impossible to occur, but knowing the error
|
||||
// code is important for debugging. That's why
|
||||
// it is good to print the error code at least
|
||||
// when there is no good error message to show.
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Encoder error: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
// Get the preset number from the command line.
|
||||
uint32_t preset = get_preset(argc, argv);
|
||||
|
||||
// Initialize a lzma_stream structure. When it is allocated on stack,
|
||||
// it is simplest to use LZMA_STREAM_INIT macro like below. When it
|
||||
// is allocated on heap, using memset(strmptr, 0, sizeof(*strmptr))
|
||||
// works (as long as NULL pointers are represented with zero bits
|
||||
// as they are on practically all computers today).
|
||||
lzma_stream strm = LZMA_STREAM_INIT;
|
||||
|
||||
// Initialize the encoder. If it succeeds, compress from
|
||||
// stdin to stdout.
|
||||
bool success = init_encoder(&strm, preset);
|
||||
if (success)
|
||||
success = compress(&strm, stdin, stdout);
|
||||
|
||||
// Free the memory allocated for the encoder. If we were encoding
|
||||
// multiple files, this would only need to be done after the last
|
||||
// file. See 02_decompress.c for handling of multiple files.
|
||||
//
|
||||
// It is OK to call lzma_end() multiple times or when it hasn't been
|
||||
// actually used except initialized with LZMA_STREAM_INIT.
|
||||
lzma_end(&strm);
|
||||
|
||||
// Close stdout to catch possible write errors that can occur
|
||||
// when pending data is flushed from the stdio buffers.
|
||||
if (fclose(stdout)) {
|
||||
fprintf(stderr, "Write error: %s\n", strerror(errno));
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
287
.CondaPkg/env/share/doc/xz/examples/02_decompress.c
vendored
287
.CondaPkg/env/share/doc/xz/examples/02_decompress.c
vendored
@@ -1,287 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
/// \file 02_decompress.c
|
||||
/// \brief Decompress .xz files to stdout
|
||||
///
|
||||
/// Usage: ./02_decompress INPUT_FILES... > OUTFILE
|
||||
///
|
||||
/// Example: ./02_decompress foo.xz bar.xz > foobar
|
||||
//
|
||||
// Author: Lasse Collin
|
||||
//
|
||||
// This file has been put into the public domain.
|
||||
// You can do whatever you want with this file.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
static bool
|
||||
init_decoder(lzma_stream *strm)
|
||||
{
|
||||
// Initialize a .xz decoder. The decoder supports a memory usage limit
|
||||
// and a set of flags.
|
||||
//
|
||||
// The memory usage of the decompressor depends on the settings used
|
||||
// to compress a .xz file. It can vary from less than a megabyte to
|
||||
// a few gigabytes, but in practice (at least for now) it rarely
|
||||
// exceeds 65 MiB because that's how much memory is required to
|
||||
// decompress files created with "xz -9". Settings requiring more
|
||||
// memory take extra effort to use and don't (at least for now)
|
||||
// provide significantly better compression in most cases.
|
||||
//
|
||||
// Memory usage limit is useful if it is important that the
|
||||
// decompressor won't consume gigabytes of memory. The need
|
||||
// for limiting depends on the application. In this example,
|
||||
// no memory usage limiting is used. This is done by setting
|
||||
// the limit to UINT64_MAX.
|
||||
//
|
||||
// The .xz format allows concatenating compressed files as is:
|
||||
//
|
||||
// echo foo | xz > foobar.xz
|
||||
// echo bar | xz >> foobar.xz
|
||||
//
|
||||
// When decompressing normal standalone .xz files, LZMA_CONCATENATED
|
||||
// should always be used to support decompression of concatenated
|
||||
// .xz files. If LZMA_CONCATENATED isn't used, the decoder will stop
|
||||
// after the first .xz stream. This can be useful when .xz data has
|
||||
// been embedded inside another file format.
|
||||
//
|
||||
// Flags other than LZMA_CONCATENATED are supported too, and can
|
||||
// be combined with bitwise-or. See lzma/container.h
|
||||
// (src/liblzma/api/lzma/container.h in the source package or e.g.
|
||||
// /usr/include/lzma/container.h depending on the install prefix)
|
||||
// for details.
|
||||
lzma_ret ret = lzma_stream_decoder(
|
||||
strm, UINT64_MAX, LZMA_CONCATENATED);
|
||||
|
||||
// Return successfully if the initialization went fine.
|
||||
if (ret == LZMA_OK)
|
||||
return true;
|
||||
|
||||
// Something went wrong. The possible errors are documented in
|
||||
// lzma/container.h (src/liblzma/api/lzma/container.h in the source
|
||||
// package or e.g. /usr/include/lzma/container.h depending on the
|
||||
// install prefix).
|
||||
//
|
||||
// Note that LZMA_MEMLIMIT_ERROR is never possible here. If you
|
||||
// specify a very tiny limit, the error will be delayed until
|
||||
// the first headers have been parsed by a call to lzma_code().
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
msg = "Unsupported decompressor flags";
|
||||
break;
|
||||
|
||||
default:
|
||||
// This is most likely LZMA_PROG_ERROR indicating a bug in
|
||||
// this program or in liblzma. It is inconvenient to have a
|
||||
// separate error message for errors that should be impossible
|
||||
// to occur, but knowing the error code is important for
|
||||
// debugging. That's why it is good to print the error code
|
||||
// at least when there is no good error message to show.
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Error initializing the decoder: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
static bool
|
||||
decompress(lzma_stream *strm, const char *inname, FILE *infile, FILE *outfile)
|
||||
{
|
||||
// When LZMA_CONCATENATED flag was used when initializing the decoder,
|
||||
// we need to tell lzma_code() when there will be no more input.
|
||||
// This is done by setting action to LZMA_FINISH instead of LZMA_RUN
|
||||
// in the same way as it is done when encoding.
|
||||
//
|
||||
// When LZMA_CONCATENATED isn't used, there is no need to use
|
||||
// LZMA_FINISH to tell when all the input has been read, but it
|
||||
// is still OK to use it if you want. When LZMA_CONCATENATED isn't
|
||||
// used, the decoder will stop after the first .xz stream. In that
|
||||
// case some unused data may be left in strm->next_in.
|
||||
lzma_action action = LZMA_RUN;
|
||||
|
||||
uint8_t inbuf[BUFSIZ];
|
||||
uint8_t outbuf[BUFSIZ];
|
||||
|
||||
strm->next_in = NULL;
|
||||
strm->avail_in = 0;
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
|
||||
while (true) {
|
||||
if (strm->avail_in == 0 && !feof(infile)) {
|
||||
strm->next_in = inbuf;
|
||||
strm->avail_in = fread(inbuf, 1, sizeof(inbuf),
|
||||
infile);
|
||||
|
||||
if (ferror(infile)) {
|
||||
fprintf(stderr, "%s: Read error: %s\n",
|
||||
inname, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
// Once the end of the input file has been reached,
|
||||
// we need to tell lzma_code() that no more input
|
||||
// will be coming. As said before, this isn't required
|
||||
// if the LZMA_CONCATENATED flag isn't used when
|
||||
// initializing the decoder.
|
||||
if (feof(infile))
|
||||
action = LZMA_FINISH;
|
||||
}
|
||||
|
||||
lzma_ret ret = lzma_code(strm, action);
|
||||
|
||||
if (strm->avail_out == 0 || ret == LZMA_STREAM_END) {
|
||||
size_t write_size = sizeof(outbuf) - strm->avail_out;
|
||||
|
||||
if (fwrite(outbuf, 1, write_size, outfile)
|
||||
!= write_size) {
|
||||
fprintf(stderr, "Write error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
}
|
||||
|
||||
if (ret != LZMA_OK) {
|
||||
// Once everything has been decoded successfully, the
|
||||
// return value of lzma_code() will be LZMA_STREAM_END.
|
||||
//
|
||||
// It is important to check for LZMA_STREAM_END. Do not
|
||||
// assume that getting ret != LZMA_OK would mean that
|
||||
// everything has gone well or that when you aren't
|
||||
// getting more output it must have successfully
|
||||
// decoded everything.
|
||||
if (ret == LZMA_STREAM_END)
|
||||
return true;
|
||||
|
||||
// It's not LZMA_OK nor LZMA_STREAM_END,
|
||||
// so it must be an error code. See lzma/base.h
|
||||
// (src/liblzma/api/lzma/base.h in the source package
|
||||
// or e.g. /usr/include/lzma/base.h depending on the
|
||||
// install prefix) for the list and documentation of
|
||||
// possible values. Many values listen in lzma_ret
|
||||
// enumeration aren't possible in this example, but
|
||||
// can be made possible by enabling memory usage limit
|
||||
// or adding flags to the decoder initialization.
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_FORMAT_ERROR:
|
||||
// .xz magic bytes weren't found.
|
||||
msg = "The input is not in the .xz format";
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
// For example, the headers specify a filter
|
||||
// that isn't supported by this liblzma
|
||||
// version (or it hasn't been enabled when
|
||||
// building liblzma, but no-one sane does
|
||||
// that unless building liblzma for an
|
||||
// embedded system). Upgrading to a newer
|
||||
// liblzma might help.
|
||||
//
|
||||
// Note that it is unlikely that the file has
|
||||
// accidentally became corrupt if you get this
|
||||
// error. The integrity of the .xz headers is
|
||||
// always verified with a CRC32, so
|
||||
// unintentionally corrupt files can be
|
||||
// distinguished from unsupported files.
|
||||
msg = "Unsupported compression options";
|
||||
break;
|
||||
|
||||
case LZMA_DATA_ERROR:
|
||||
msg = "Compressed file is corrupt";
|
||||
break;
|
||||
|
||||
case LZMA_BUF_ERROR:
|
||||
// Typically this error means that a valid
|
||||
// file has got truncated, but it might also
|
||||
// be a damaged part in the file that makes
|
||||
// the decoder think the file is truncated.
|
||||
// If you prefer, you can use the same error
|
||||
// message for this as for LZMA_DATA_ERROR.
|
||||
msg = "Compressed file is truncated or "
|
||||
"otherwise corrupt";
|
||||
break;
|
||||
|
||||
default:
|
||||
// This is most likely LZMA_PROG_ERROR.
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "%s: Decoder error: "
|
||||
"%s (error code %u)\n",
|
||||
inname, msg, ret);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
if (argc <= 1) {
|
||||
fprintf(stderr, "Usage: %s FILES...\n", argv[0]);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
lzma_stream strm = LZMA_STREAM_INIT;
|
||||
|
||||
bool success = true;
|
||||
|
||||
// Try to decompress all files.
|
||||
for (int i = 1; i < argc; ++i) {
|
||||
if (!init_decoder(&strm)) {
|
||||
// Decoder initialization failed. There's no point
|
||||
// to retry it so we need to exit.
|
||||
success = false;
|
||||
break;
|
||||
}
|
||||
|
||||
FILE *infile = fopen(argv[i], "rb");
|
||||
|
||||
if (infile == NULL) {
|
||||
fprintf(stderr, "%s: Error opening the "
|
||||
"input file: %s\n",
|
||||
argv[i], strerror(errno));
|
||||
success = false;
|
||||
} else {
|
||||
success &= decompress(&strm, argv[i], infile, stdout);
|
||||
fclose(infile);
|
||||
}
|
||||
}
|
||||
|
||||
// Free the memory allocated for the decoder. This only needs to be
|
||||
// done after the last file.
|
||||
lzma_end(&strm);
|
||||
|
||||
if (fclose(stdout)) {
|
||||
fprintf(stderr, "Write error: %s\n", strerror(errno));
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
@@ -1,193 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
/// \file 03_compress_custom.c
|
||||
/// \brief Compress in multi-call mode using x86 BCJ and LZMA2
|
||||
///
|
||||
/// Usage: ./03_compress_custom < INFILE > OUTFILE
|
||||
///
|
||||
/// Example: ./03_compress_custom < foo > foo.xz
|
||||
//
|
||||
// Author: Lasse Collin
|
||||
//
|
||||
// This file has been put into the public domain.
|
||||
// You can do whatever you want with this file.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
static bool
|
||||
init_encoder(lzma_stream *strm)
|
||||
{
|
||||
// Use the default preset (6) for LZMA2.
|
||||
//
|
||||
// The lzma_options_lzma structure and the lzma_lzma_preset() function
|
||||
// are declared in lzma/lzma12.h (src/liblzma/api/lzma/lzma12.h in the
|
||||
// source package or e.g. /usr/include/lzma/lzma12.h depending on
|
||||
// the install prefix).
|
||||
lzma_options_lzma opt_lzma2;
|
||||
if (lzma_lzma_preset(&opt_lzma2, LZMA_PRESET_DEFAULT)) {
|
||||
// It should never fail because the default preset
|
||||
// (and presets 0-9 optionally with LZMA_PRESET_EXTREME)
|
||||
// are supported by all stable liblzma versions.
|
||||
//
|
||||
// (The encoder initialization later in this function may
|
||||
// still fail due to unsupported preset *if* the features
|
||||
// required by the preset have been disabled at build time,
|
||||
// but no-one does such things except on embedded systems.)
|
||||
fprintf(stderr, "Unsupported preset, possibly a bug\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Now we could customize the LZMA2 options if we wanted. For example,
|
||||
// we could set the the dictionary size (opt_lzma2.dict_size) to
|
||||
// something else than the default (8 MiB) of the default preset.
|
||||
// See lzma/lzma12.h for details of all LZMA2 options.
|
||||
//
|
||||
// The x86 BCJ filter will try to modify the x86 instruction stream so
|
||||
// that LZMA2 can compress it better. The x86 BCJ filter doesn't need
|
||||
// any options so it will be set to NULL below.
|
||||
//
|
||||
// Construct the filter chain. The uncompressed data goes first to
|
||||
// the first filter in the array, in this case the x86 BCJ filter.
|
||||
// The array is always terminated by setting .id = LZMA_VLI_UNKNOWN.
|
||||
//
|
||||
// See lzma/filter.h for more information about the lzma_filter
|
||||
// structure.
|
||||
lzma_filter filters[] = {
|
||||
{ .id = LZMA_FILTER_X86, .options = NULL },
|
||||
{ .id = LZMA_FILTER_LZMA2, .options = &opt_lzma2 },
|
||||
{ .id = LZMA_VLI_UNKNOWN, .options = NULL },
|
||||
};
|
||||
|
||||
// Initialize the encoder using the custom filter chain.
|
||||
lzma_ret ret = lzma_stream_encoder(strm, filters, LZMA_CHECK_CRC64);
|
||||
|
||||
if (ret == LZMA_OK)
|
||||
return true;
|
||||
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
// We are no longer using a plain preset so this error
|
||||
// message has been edited accordingly compared to
|
||||
// 01_compress_easy.c.
|
||||
msg = "Specified filter chain is not supported";
|
||||
break;
|
||||
|
||||
case LZMA_UNSUPPORTED_CHECK:
|
||||
msg = "Specified integrity check is not supported";
|
||||
break;
|
||||
|
||||
default:
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// This function is identical to the one in 01_compress_easy.c.
|
||||
static bool
|
||||
compress(lzma_stream *strm, FILE *infile, FILE *outfile)
|
||||
{
|
||||
lzma_action action = LZMA_RUN;
|
||||
|
||||
uint8_t inbuf[BUFSIZ];
|
||||
uint8_t outbuf[BUFSIZ];
|
||||
|
||||
strm->next_in = NULL;
|
||||
strm->avail_in = 0;
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
|
||||
while (true) {
|
||||
if (strm->avail_in == 0 && !feof(infile)) {
|
||||
strm->next_in = inbuf;
|
||||
strm->avail_in = fread(inbuf, 1, sizeof(inbuf),
|
||||
infile);
|
||||
|
||||
if (ferror(infile)) {
|
||||
fprintf(stderr, "Read error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (feof(infile))
|
||||
action = LZMA_FINISH;
|
||||
}
|
||||
|
||||
lzma_ret ret = lzma_code(strm, action);
|
||||
|
||||
if (strm->avail_out == 0 || ret == LZMA_STREAM_END) {
|
||||
size_t write_size = sizeof(outbuf) - strm->avail_out;
|
||||
|
||||
if (fwrite(outbuf, 1, write_size, outfile)
|
||||
!= write_size) {
|
||||
fprintf(stderr, "Write error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
}
|
||||
|
||||
if (ret != LZMA_OK) {
|
||||
if (ret == LZMA_STREAM_END)
|
||||
return true;
|
||||
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_DATA_ERROR:
|
||||
msg = "File size limits exceeded";
|
||||
break;
|
||||
|
||||
default:
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Encoder error: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int
|
||||
main(void)
|
||||
{
|
||||
lzma_stream strm = LZMA_STREAM_INIT;
|
||||
|
||||
bool success = init_encoder(&strm);
|
||||
if (success)
|
||||
success = compress(&strm, stdin, stdout);
|
||||
|
||||
lzma_end(&strm);
|
||||
|
||||
if (fclose(stdout)) {
|
||||
fprintf(stderr, "Write error: %s\n", strerror(errno));
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
@@ -1,206 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
/// \file 04_compress_easy_mt.c
|
||||
/// \brief Compress in multi-call mode using LZMA2 in multi-threaded mode
|
||||
///
|
||||
/// Usage: ./04_compress_easy_mt < INFILE > OUTFILE
|
||||
///
|
||||
/// Example: ./04_compress_easy_mt < foo > foo.xz
|
||||
//
|
||||
// Author: Lasse Collin
|
||||
//
|
||||
// This file has been put into the public domain.
|
||||
// You can do whatever you want with this file.
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
static bool
|
||||
init_encoder(lzma_stream *strm)
|
||||
{
|
||||
// The threaded encoder takes the options as pointer to
|
||||
// a lzma_mt structure.
|
||||
lzma_mt mt = {
|
||||
// No flags are needed.
|
||||
.flags = 0,
|
||||
|
||||
// Let liblzma determine a sane block size.
|
||||
.block_size = 0,
|
||||
|
||||
// Use no timeout for lzma_code() calls by setting timeout
|
||||
// to zero. That is, sometimes lzma_code() might block for
|
||||
// a long time (from several seconds to even minutes).
|
||||
// If this is not OK, for example due to progress indicator
|
||||
// needing updates, specify a timeout in milliseconds here.
|
||||
// See the documentation of lzma_mt in lzma/container.h for
|
||||
// information how to choose a reasonable timeout.
|
||||
.timeout = 0,
|
||||
|
||||
// Use the default preset (6) for LZMA2.
|
||||
// To use a preset, filters must be set to NULL.
|
||||
.preset = LZMA_PRESET_DEFAULT,
|
||||
.filters = NULL,
|
||||
|
||||
// Use CRC64 for integrity checking. See also
|
||||
// 01_compress_easy.c about choosing the integrity check.
|
||||
.check = LZMA_CHECK_CRC64,
|
||||
};
|
||||
|
||||
// Detect how many threads the CPU supports.
|
||||
mt.threads = lzma_cputhreads();
|
||||
|
||||
// If the number of CPU cores/threads cannot be detected,
|
||||
// use one thread. Note that this isn't the same as the normal
|
||||
// single-threaded mode as this will still split the data into
|
||||
// blocks and use more RAM than the normal single-threaded mode.
|
||||
// You may want to consider using lzma_easy_encoder() or
|
||||
// lzma_stream_encoder() instead of lzma_stream_encoder_mt() if
|
||||
// lzma_cputhreads() returns 0 or 1.
|
||||
if (mt.threads == 0)
|
||||
mt.threads = 1;
|
||||
|
||||
// If the number of CPU cores/threads exceeds threads_max,
|
||||
// limit the number of threads to keep memory usage lower.
|
||||
// The number 8 is arbitrarily chosen and may be too low or
|
||||
// high depending on the compression preset and the computer
|
||||
// being used.
|
||||
//
|
||||
// FIXME: A better way could be to check the amount of RAM
|
||||
// (or available RAM) and use lzma_stream_encoder_mt_memusage()
|
||||
// to determine if the number of threads should be reduced.
|
||||
const uint32_t threads_max = 8;
|
||||
if (mt.threads > threads_max)
|
||||
mt.threads = threads_max;
|
||||
|
||||
// Initialize the threaded encoder.
|
||||
lzma_ret ret = lzma_stream_encoder_mt(strm, &mt);
|
||||
|
||||
if (ret == LZMA_OK)
|
||||
return true;
|
||||
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_OPTIONS_ERROR:
|
||||
// We are no longer using a plain preset so this error
|
||||
// message has been edited accordingly compared to
|
||||
// 01_compress_easy.c.
|
||||
msg = "Specified filter chain is not supported";
|
||||
break;
|
||||
|
||||
case LZMA_UNSUPPORTED_CHECK:
|
||||
msg = "Specified integrity check is not supported";
|
||||
break;
|
||||
|
||||
default:
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// This function is identical to the one in 01_compress_easy.c.
|
||||
static bool
|
||||
compress(lzma_stream *strm, FILE *infile, FILE *outfile)
|
||||
{
|
||||
lzma_action action = LZMA_RUN;
|
||||
|
||||
uint8_t inbuf[BUFSIZ];
|
||||
uint8_t outbuf[BUFSIZ];
|
||||
|
||||
strm->next_in = NULL;
|
||||
strm->avail_in = 0;
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
|
||||
while (true) {
|
||||
if (strm->avail_in == 0 && !feof(infile)) {
|
||||
strm->next_in = inbuf;
|
||||
strm->avail_in = fread(inbuf, 1, sizeof(inbuf),
|
||||
infile);
|
||||
|
||||
if (ferror(infile)) {
|
||||
fprintf(stderr, "Read error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (feof(infile))
|
||||
action = LZMA_FINISH;
|
||||
}
|
||||
|
||||
lzma_ret ret = lzma_code(strm, action);
|
||||
|
||||
if (strm->avail_out == 0 || ret == LZMA_STREAM_END) {
|
||||
size_t write_size = sizeof(outbuf) - strm->avail_out;
|
||||
|
||||
if (fwrite(outbuf, 1, write_size, outfile)
|
||||
!= write_size) {
|
||||
fprintf(stderr, "Write error: %s\n",
|
||||
strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
strm->next_out = outbuf;
|
||||
strm->avail_out = sizeof(outbuf);
|
||||
}
|
||||
|
||||
if (ret != LZMA_OK) {
|
||||
if (ret == LZMA_STREAM_END)
|
||||
return true;
|
||||
|
||||
const char *msg;
|
||||
switch (ret) {
|
||||
case LZMA_MEM_ERROR:
|
||||
msg = "Memory allocation failed";
|
||||
break;
|
||||
|
||||
case LZMA_DATA_ERROR:
|
||||
msg = "File size limits exceeded";
|
||||
break;
|
||||
|
||||
default:
|
||||
msg = "Unknown error, possibly a bug";
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "Encoder error: %s (error code %u)\n",
|
||||
msg, ret);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
extern int
|
||||
main(void)
|
||||
{
|
||||
lzma_stream strm = LZMA_STREAM_INIT;
|
||||
|
||||
bool success = init_encoder(&strm);
|
||||
if (success)
|
||||
success = compress(&strm, stdin, stdout);
|
||||
|
||||
lzma_end(&strm);
|
||||
|
||||
if (fclose(stdout)) {
|
||||
fprintf(stderr, "Write error: %s\n", strerror(errno));
|
||||
success = false;
|
||||
}
|
||||
|
||||
return success ? EXIT_SUCCESS : EXIT_FAILURE;
|
||||
}
|
||||
24
.CondaPkg/env/share/doc/xz/examples/Makefile
vendored
24
.CondaPkg/env/share/doc/xz/examples/Makefile
vendored
@@ -1,24 +0,0 @@
|
||||
#
|
||||
# Author: Lasse Collin
|
||||
#
|
||||
# This file has been put into the public domain.
|
||||
# You can do whatever you want with this file.
|
||||
#
|
||||
|
||||
CC = c99
|
||||
CFLAGS = -g
|
||||
LDFLAGS = -llzma
|
||||
|
||||
PROGS = \
|
||||
01_compress_easy \
|
||||
02_decompress \
|
||||
03_compress_custom \
|
||||
04_compress_easy_mt
|
||||
|
||||
all: $(PROGS)
|
||||
|
||||
.c:
|
||||
$(CC) $(CFLAGS) -o $@ $< $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
-rm -f $(PROGS)
|
||||
@@ -1,127 +0,0 @@
|
||||
/*
|
||||
* xz_pipe_comp.c
|
||||
* A simple example of pipe-only xz compressor implementation.
|
||||
* version: 2010-07-12 - by Daniel Mealha Cabrita
|
||||
* Not copyrighted -- provided to the public domain.
|
||||
*
|
||||
* Compiling:
|
||||
* Link with liblzma. GCC example:
|
||||
* $ gcc -llzma xz_pipe_comp.c -o xz_pipe_comp
|
||||
*
|
||||
* Usage example:
|
||||
* $ cat some_file | ./xz_pipe_comp > some_file.xz
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
/* COMPRESSION SETTINGS */
|
||||
|
||||
/* analogous to xz CLI options: -0 to -9 */
|
||||
#define COMPRESSION_LEVEL 6
|
||||
|
||||
/* boolean setting, analogous to xz CLI option: -e */
|
||||
#define COMPRESSION_EXTREME true
|
||||
|
||||
/* see: /usr/include/lzma/check.h LZMA_CHECK_* */
|
||||
#define INTEGRITY_CHECK LZMA_CHECK_CRC64
|
||||
|
||||
|
||||
/* read/write buffer sizes */
|
||||
#define IN_BUF_MAX 4096
|
||||
#define OUT_BUF_MAX 4096
|
||||
|
||||
/* error codes */
|
||||
#define RET_OK 0
|
||||
#define RET_ERROR_INIT 1
|
||||
#define RET_ERROR_INPUT 2
|
||||
#define RET_ERROR_OUTPUT 3
|
||||
#define RET_ERROR_COMPRESSION 4
|
||||
|
||||
|
||||
/* note: in_file and out_file must be open already */
|
||||
int xz_compress (FILE *in_file, FILE *out_file)
|
||||
{
|
||||
uint32_t preset = COMPRESSION_LEVEL | (COMPRESSION_EXTREME ? LZMA_PRESET_EXTREME : 0);
|
||||
lzma_check check = INTEGRITY_CHECK;
|
||||
lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */
|
||||
uint8_t in_buf [IN_BUF_MAX];
|
||||
uint8_t out_buf [OUT_BUF_MAX];
|
||||
size_t in_len; /* length of useful data in in_buf */
|
||||
size_t out_len; /* length of useful data in out_buf */
|
||||
bool in_finished = false;
|
||||
bool out_finished = false;
|
||||
lzma_action action;
|
||||
lzma_ret ret_xz;
|
||||
int ret;
|
||||
|
||||
ret = RET_OK;
|
||||
|
||||
/* initialize xz encoder */
|
||||
ret_xz = lzma_easy_encoder (&strm, preset, check);
|
||||
if (ret_xz != LZMA_OK) {
|
||||
fprintf (stderr, "lzma_easy_encoder error: %d\n", (int) ret_xz);
|
||||
return RET_ERROR_INIT;
|
||||
}
|
||||
|
||||
while ((! in_finished) && (! out_finished)) {
|
||||
/* read incoming data */
|
||||
in_len = fread (in_buf, 1, IN_BUF_MAX, in_file);
|
||||
|
||||
if (feof (in_file)) {
|
||||
in_finished = true;
|
||||
}
|
||||
if (ferror (in_file)) {
|
||||
in_finished = true;
|
||||
ret = RET_ERROR_INPUT;
|
||||
}
|
||||
|
||||
strm.next_in = in_buf;
|
||||
strm.avail_in = in_len;
|
||||
|
||||
/* if no more data from in_buf, flushes the
|
||||
internal xz buffers and closes the xz data
|
||||
with LZMA_FINISH */
|
||||
action = in_finished ? LZMA_FINISH : LZMA_RUN;
|
||||
|
||||
/* loop until there's no pending compressed output */
|
||||
do {
|
||||
/* out_buf is clean at this point */
|
||||
strm.next_out = out_buf;
|
||||
strm.avail_out = OUT_BUF_MAX;
|
||||
|
||||
/* compress data */
|
||||
ret_xz = lzma_code (&strm, action);
|
||||
|
||||
if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) {
|
||||
fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz);
|
||||
out_finished = true;
|
||||
ret = RET_ERROR_COMPRESSION;
|
||||
} else {
|
||||
/* write compressed data */
|
||||
out_len = OUT_BUF_MAX - strm.avail_out;
|
||||
fwrite (out_buf, 1, out_len, out_file);
|
||||
if (ferror (out_file)) {
|
||||
out_finished = true;
|
||||
ret = RET_ERROR_OUTPUT;
|
||||
}
|
||||
}
|
||||
} while (strm.avail_out == 0);
|
||||
}
|
||||
|
||||
lzma_end (&strm);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = xz_compress (stdin, stdout);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1,123 +0,0 @@
|
||||
/*
|
||||
* xz_pipe_decomp.c
|
||||
* A simple example of pipe-only xz decompressor implementation.
|
||||
* version: 2012-06-14 - by Daniel Mealha Cabrita
|
||||
* Not copyrighted -- provided to the public domain.
|
||||
*
|
||||
* Compiling:
|
||||
* Link with liblzma. GCC example:
|
||||
* $ gcc -llzma xz_pipe_decomp.c -o xz_pipe_decomp
|
||||
*
|
||||
* Usage example:
|
||||
* $ cat some_file.xz | ./xz_pipe_decomp > some_file
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
#include <lzma.h>
|
||||
|
||||
|
||||
/* read/write buffer sizes */
|
||||
#define IN_BUF_MAX 4096
|
||||
#define OUT_BUF_MAX 4096
|
||||
|
||||
/* error codes */
|
||||
#define RET_OK 0
|
||||
#define RET_ERROR_INIT 1
|
||||
#define RET_ERROR_INPUT 2
|
||||
#define RET_ERROR_OUTPUT 3
|
||||
#define RET_ERROR_DECOMPRESSION 4
|
||||
|
||||
|
||||
/* note: in_file and out_file must be open already */
|
||||
int xz_decompress (FILE *in_file, FILE *out_file)
|
||||
{
|
||||
lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */
|
||||
const uint32_t flags = LZMA_TELL_UNSUPPORTED_CHECK | LZMA_CONCATENATED;
|
||||
const uint64_t memory_limit = UINT64_MAX; /* no memory limit */
|
||||
uint8_t in_buf [IN_BUF_MAX];
|
||||
uint8_t out_buf [OUT_BUF_MAX];
|
||||
size_t in_len; /* length of useful data in in_buf */
|
||||
size_t out_len; /* length of useful data in out_buf */
|
||||
bool in_finished = false;
|
||||
bool out_finished = false;
|
||||
lzma_action action;
|
||||
lzma_ret ret_xz;
|
||||
int ret;
|
||||
|
||||
ret = RET_OK;
|
||||
|
||||
/* initialize xz decoder */
|
||||
ret_xz = lzma_stream_decoder (&strm, memory_limit, flags);
|
||||
if (ret_xz != LZMA_OK) {
|
||||
fprintf (stderr, "lzma_stream_decoder error: %d\n", (int) ret_xz);
|
||||
return RET_ERROR_INIT;
|
||||
}
|
||||
|
||||
while ((! in_finished) && (! out_finished)) {
|
||||
/* read incoming data */
|
||||
in_len = fread (in_buf, 1, IN_BUF_MAX, in_file);
|
||||
|
||||
if (feof (in_file)) {
|
||||
in_finished = true;
|
||||
}
|
||||
if (ferror (in_file)) {
|
||||
in_finished = true;
|
||||
ret = RET_ERROR_INPUT;
|
||||
}
|
||||
|
||||
strm.next_in = in_buf;
|
||||
strm.avail_in = in_len;
|
||||
|
||||
/* if no more data from in_buf, flushes the
|
||||
internal xz buffers and closes the decompressed data
|
||||
with LZMA_FINISH */
|
||||
action = in_finished ? LZMA_FINISH : LZMA_RUN;
|
||||
|
||||
/* loop until there's no pending decompressed output */
|
||||
do {
|
||||
/* out_buf is clean at this point */
|
||||
strm.next_out = out_buf;
|
||||
strm.avail_out = OUT_BUF_MAX;
|
||||
|
||||
/* decompress data */
|
||||
ret_xz = lzma_code (&strm, action);
|
||||
|
||||
if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) {
|
||||
fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz);
|
||||
out_finished = true;
|
||||
ret = RET_ERROR_DECOMPRESSION;
|
||||
} else {
|
||||
/* write decompressed data */
|
||||
out_len = OUT_BUF_MAX - strm.avail_out;
|
||||
fwrite (out_buf, 1, out_len, out_file);
|
||||
if (ferror (out_file)) {
|
||||
out_finished = true;
|
||||
ret = RET_ERROR_OUTPUT;
|
||||
}
|
||||
}
|
||||
} while (strm.avail_out == 0);
|
||||
}
|
||||
|
||||
/* Bug fix (2012-06-14): If no errors were detected, check
|
||||
that the last lzma_code() call returned LZMA_STREAM_END.
|
||||
If not, the file is probably truncated. */
|
||||
if ((ret == RET_OK) && (ret_xz != LZMA_STREAM_END)) {
|
||||
fprintf (stderr, "Input truncated or corrupt\n");
|
||||
ret = RET_ERROR_DECOMPRESSION;
|
||||
}
|
||||
|
||||
lzma_end (&strm);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = xz_decompress (stdin, stdout);
|
||||
return ret;
|
||||
}
|
||||
|
||||
244
.CondaPkg/env/share/doc/xz/faq.txt
vendored
244
.CondaPkg/env/share/doc/xz/faq.txt
vendored
@@ -1,244 +0,0 @@
|
||||
|
||||
XZ Utils FAQ
|
||||
============
|
||||
|
||||
Q: What do the letters XZ mean?
|
||||
|
||||
A: Nothing. They are just two letters, which come from the file format
|
||||
suffix .xz. The .xz suffix was selected, because it seemed to be
|
||||
pretty much unused. It has no deeper meaning.
|
||||
|
||||
|
||||
Q: What are LZMA and LZMA2?
|
||||
|
||||
A: LZMA stands for Lempel-Ziv-Markov chain-Algorithm. It is the name
|
||||
of the compression algorithm designed by Igor Pavlov for 7-Zip.
|
||||
LZMA is based on LZ77 and range encoding.
|
||||
|
||||
LZMA2 is an updated version of the original LZMA to fix a couple of
|
||||
practical issues. In context of XZ Utils, LZMA is called LZMA1 to
|
||||
emphasize that LZMA is not the same thing as LZMA2. LZMA2 is the
|
||||
primary compression algorithm in the .xz file format.
|
||||
|
||||
|
||||
Q: There are many LZMA related projects. How does XZ Utils relate to them?
|
||||
|
||||
A: 7-Zip and LZMA SDK are the original projects. LZMA SDK is roughly
|
||||
a subset of the 7-Zip source tree.
|
||||
|
||||
p7zip is 7-Zip's command-line tools ported to POSIX-like systems.
|
||||
|
||||
LZMA Utils provide a gzip-like lzma tool for POSIX-like systems.
|
||||
LZMA Utils are based on LZMA SDK. XZ Utils are the successor to
|
||||
LZMA Utils.
|
||||
|
||||
There are several other projects using LZMA. Most are more or less
|
||||
based on LZMA SDK. See <https://7-zip.org/links.html>.
|
||||
|
||||
|
||||
Q: Why is liblzma named liblzma if its primary file format is .xz?
|
||||
Shouldn't it be e.g. libxz?
|
||||
|
||||
A: When the designing of the .xz format began, the idea was to replace
|
||||
the .lzma format and use the same .lzma suffix. It would have been
|
||||
quite OK to reuse the suffix when there were very few .lzma files
|
||||
around. However, the old .lzma format became popular before the
|
||||
new format was finished. The new format was renamed to .xz but the
|
||||
name of liblzma wasn't changed.
|
||||
|
||||
|
||||
Q: Do XZ Utils support the .7z format?
|
||||
|
||||
A: No. Use 7-Zip (Windows) or p7zip (POSIX-like systems) to handle .7z
|
||||
files.
|
||||
|
||||
|
||||
Q: I have many .tar.7z files. Can I convert them to .tar.xz without
|
||||
spending hours recompressing the data?
|
||||
|
||||
A: In the "extra" directory, there is a script named 7z2lzma.bash which
|
||||
is able to convert some .7z files to the .lzma format (not .xz). It
|
||||
needs the 7za (or 7z) command from p7zip. The script may silently
|
||||
produce corrupt output if certain assumptions are not met, so
|
||||
decompress the resulting .lzma file and compare it against the
|
||||
original before deleting the original file!
|
||||
|
||||
|
||||
Q: I have many .lzma files. Can I quickly convert them to the .xz format?
|
||||
|
||||
A: For now, no. Since XZ Utils supports the .lzma format, it's usually
|
||||
not too bad to keep the old files in the old format. If you want to
|
||||
do the conversion anyway, you need to decompress the .lzma files and
|
||||
then recompress to the .xz format.
|
||||
|
||||
Technically, there is a way to make the conversion relatively fast
|
||||
(roughly twice the time that normal decompression takes). Writing
|
||||
such a tool would take quite a bit of time though, and would probably
|
||||
be useful to only a few people. If you really want such a conversion
|
||||
tool, contact Lasse Collin and offer some money.
|
||||
|
||||
|
||||
Q: I have installed xz, but my tar doesn't recognize .tar.xz files.
|
||||
How can I extract .tar.xz files?
|
||||
|
||||
A: xz -dc foo.tar.xz | tar xf -
|
||||
|
||||
|
||||
Q: Can I recover parts of a broken .xz file (e.g. a corrupted CD-R)?
|
||||
|
||||
A: It may be possible if the file consists of multiple blocks, which
|
||||
typically is not the case if the file was created in single-threaded
|
||||
mode. There is no recovery program yet.
|
||||
|
||||
|
||||
Q: Is (some part of) XZ Utils patented?
|
||||
|
||||
A: Lasse Collin is not aware of any patents that could affect XZ Utils.
|
||||
However, due to the nature of software patents, it's not possible to
|
||||
guarantee that XZ Utils isn't affected by any third party patent(s).
|
||||
|
||||
|
||||
Q: Where can I find documentation about the file format and algorithms?
|
||||
|
||||
A: The .xz format is documented in xz-file-format.txt. It is a container
|
||||
format only, and doesn't include descriptions of any non-trivial
|
||||
filters.
|
||||
|
||||
Documenting LZMA and LZMA2 is planned, but for now, there is no other
|
||||
documentation than the source code. Before you begin, you should know
|
||||
the basics of LZ77 and range-coding algorithms. LZMA is based on LZ77,
|
||||
but LZMA is a lot more complex. Range coding is used to compress
|
||||
the final bitstream like Huffman coding is used in Deflate.
|
||||
|
||||
|
||||
Q: I cannot find BCJ and BCJ2 filters. Don't they exist in liblzma?
|
||||
|
||||
A: BCJ filter is called "x86" in liblzma. BCJ2 is not included,
|
||||
because it requires using more than one encoded output stream.
|
||||
|
||||
|
||||
Q: I need to use a script that runs "xz -9". On a system with 256 MiB
|
||||
of RAM, xz says that it cannot allocate memory. Can I make the
|
||||
script work without modifying it?
|
||||
|
||||
A: Set a default memory usage limit for compression. You can do it e.g.
|
||||
in a shell initialization script such as ~/.bashrc or /etc/profile:
|
||||
|
||||
XZ_DEFAULTS=--memlimit-compress=150MiB
|
||||
export XZ_DEFAULTS
|
||||
|
||||
xz will then scale the compression settings down so that the given
|
||||
memory usage limit is not reached. This way xz shouldn't run out
|
||||
of memory.
|
||||
|
||||
Check also that memory-related resource limits are high enough.
|
||||
On most systems, "ulimit -a" will show the current resource limits.
|
||||
|
||||
|
||||
Q: How do I create files that can be decompressed with XZ Embedded?
|
||||
|
||||
A: See the documentation in XZ Embedded. In short, something like
|
||||
this is a good start:
|
||||
|
||||
xz --check=crc32 --lzma2=preset=6e,dict=64KiB
|
||||
|
||||
Or if a BCJ filter is needed too, e.g. if compressing
|
||||
a kernel image for PowerPC:
|
||||
|
||||
xz --check=crc32 --powerpc --lzma2=preset=6e,dict=64KiB
|
||||
|
||||
Adjust the dictionary size to get a good compromise between
|
||||
compression ratio and decompressor memory usage. Note that
|
||||
in single-call decompression mode of XZ Embedded, a big
|
||||
dictionary doesn't increase memory usage.
|
||||
|
||||
|
||||
Q: How is multi-threaded compression implemented in XZ Utils?
|
||||
|
||||
A: The simplest method is splitting the uncompressed data into blocks
|
||||
and compressing them in parallel independent from each other.
|
||||
This is currently the only threading method supported in XZ Utils.
|
||||
Since the blocks are compressed independently, they can also be
|
||||
decompressed independently. Together with the index feature in .xz,
|
||||
this allows using threads to create .xz files for random-access
|
||||
reading. This also makes threaded decompression possible.
|
||||
|
||||
The independent blocks method has a couple of disadvantages too. It
|
||||
will compress worse than a single-block method. Often the difference
|
||||
is not too big (maybe 1-2 %) but sometimes it can be too big. Also,
|
||||
the memory usage of the compressor increases linearly when adding
|
||||
threads.
|
||||
|
||||
At least two other threading methods are possible but these haven't
|
||||
been implemented in XZ Utils:
|
||||
|
||||
Match finder parallelization has been in 7-Zip for ages. It doesn't
|
||||
affect compression ratio or memory usage significantly. Among the
|
||||
three threading methods, only this is useful when compressing small
|
||||
files (files that are not significantly bigger than the dictionary).
|
||||
Unfortunately this method scales only to about two CPU cores.
|
||||
|
||||
The third method is pigz-style threading (I use that name, because
|
||||
pigz <https://www.zlib.net/pigz/> uses that method). It doesn't
|
||||
affect compression ratio significantly and scales to many cores.
|
||||
The memory usage scales linearly when threads are added. This isn't
|
||||
significant with pigz, because Deflate uses only a 32 KiB dictionary,
|
||||
but with LZMA2 the memory usage will increase dramatically just like
|
||||
with the independent-blocks method. There is also a constant
|
||||
computational overhead, which may make pigz-method a bit dull on
|
||||
dual-core compared to the parallel match finder method, but with more
|
||||
cores the overhead is not a big deal anymore.
|
||||
|
||||
Combining the threading methods will be possible and also useful.
|
||||
For example, combining match finder parallelization with pigz-style
|
||||
threading or independent-blocks-threading can cut the memory usage
|
||||
by 50 %.
|
||||
|
||||
|
||||
Q: I told xz to use many threads but it is using only one or two
|
||||
processor cores. What is wrong?
|
||||
|
||||
A: Since multi-threaded compression is done by splitting the data into
|
||||
blocks that are compressed individually, if the input file is too
|
||||
small for the block size, then many threads cannot be used. The
|
||||
default block size increases when the compression level is
|
||||
increased. For example, xz -6 uses 8 MiB LZMA2 dictionary and
|
||||
24 MiB blocks, and xz -9 uses 64 MiB LZMA dictionary and 192 MiB
|
||||
blocks. If the input file is 100 MiB, xz -6 can use five threads
|
||||
of which one will finish quickly as it has only 4 MiB to compress.
|
||||
However, for the same file, xz -9 can only use one thread.
|
||||
|
||||
One can adjust block size with --block-size=SIZE but making the
|
||||
block size smaller than LZMA2 dictionary is waste of RAM: using
|
||||
xz -9 with 6 MiB blocks isn't any better than using xz -6 with
|
||||
6 MiB blocks. The default settings use a block size bigger than
|
||||
the LZMA2 dictionary size because this was seen as a reasonable
|
||||
compromise between RAM usage and compression ratio.
|
||||
|
||||
When decompressing, the ability to use threads depends on how the
|
||||
file was created. If it was created in multi-threaded mode then
|
||||
it can be decompressed in multi-threaded mode too if there are
|
||||
multiple blocks in the file.
|
||||
|
||||
|
||||
Q: How do I build a program that needs liblzmadec (lzmadec.h)?
|
||||
|
||||
A: liblzmadec is part of LZMA Utils. XZ Utils has liblzma, but no
|
||||
liblzmadec. The code using liblzmadec should be ported to use
|
||||
liblzma instead. If you cannot or don't want to do that, download
|
||||
LZMA Utils from <https://tukaani.org/lzma/>.
|
||||
|
||||
|
||||
Q: The default build of liblzma is too big. How can I make it smaller?
|
||||
|
||||
A: Give --enable-small to the configure script. Use also appropriate
|
||||
--enable or --disable options to include only those filter encoders
|
||||
and decoders and integrity checks that you actually need. Use
|
||||
CFLAGS=-Os (with GCC) or equivalent to tell your compiler to optimize
|
||||
for size. See INSTALL for information about configure options.
|
||||
|
||||
If the result is still too big, take a look at XZ Embedded. It is
|
||||
a separate project, which provides a limited but significantly
|
||||
smaller XZ decoder implementation than XZ Utils. You can find it
|
||||
at <https://tukaani.org/xz/embedded.html>.
|
||||
|
||||
150
.CondaPkg/env/share/doc/xz/history.txt
vendored
150
.CondaPkg/env/share/doc/xz/history.txt
vendored
@@ -1,150 +0,0 @@
|
||||
|
||||
History of LZMA Utils and XZ Utils
|
||||
==================================
|
||||
|
||||
Tukaani distribution
|
||||
|
||||
In 2005, there was a small group working on the Tukaani distribution,
|
||||
which was a Slackware fork. One of the project's goals was to fit the
|
||||
distro on a single 700 MiB ISO-9660 image. Using LZMA instead of gzip
|
||||
helped a lot. Roughly speaking, one could fit data that took 1000 MiB
|
||||
in gzipped form into 700 MiB with LZMA. Naturally, the compression
|
||||
ratio varied across packages, but this was what we got on average.
|
||||
|
||||
Slackware packages have traditionally had .tgz as the filename suffix,
|
||||
which is an abbreviation of .tar.gz. A logical naming for LZMA
|
||||
compressed packages was .tlz, being an abbreviation of .tar.lzma.
|
||||
|
||||
At the end of the year 2007, there was no distribution under the
|
||||
Tukaani project anymore, but development of LZMA Utils was kept going.
|
||||
Still, there were .tlz packages around, because at least Vector Linux
|
||||
(a Slackware based distribution) used LZMA for its packages.
|
||||
|
||||
First versions of the modified pkgtools used the LZMA_Alone tool from
|
||||
Igor Pavlov's LZMA SDK as is. It was fine, because users wouldn't need
|
||||
to interact with LZMA_Alone directly. But people soon wanted to use
|
||||
LZMA for other files too, and the interface of LZMA_Alone wasn't
|
||||
comfortable for those used to gzip and bzip2.
|
||||
|
||||
|
||||
First steps of LZMA Utils
|
||||
|
||||
The first version of LZMA Utils (4.22.0) included a shell script called
|
||||
lzmash. It was a wrapper that had a gzip-like command-line interface. It
|
||||
used the LZMA_Alone tool from LZMA SDK to do all the real work. zgrep,
|
||||
zdiff, and related scripts from gzip were adapted to work with LZMA and
|
||||
were part of the first LZMA Utils release too.
|
||||
|
||||
LZMA Utils 4.22.0 included also lzmadec, which was a small (less than
|
||||
10 KiB) decoder-only command-line tool. It was written on top of the
|
||||
decoder-only C code found from the LZMA SDK. lzmadec was convenient in
|
||||
situations where LZMA_Alone (a few hundred KiB) would be too big.
|
||||
|
||||
lzmash and lzmadec were written by Lasse Collin.
|
||||
|
||||
|
||||
Second generation
|
||||
|
||||
The lzmash script was an ugly and not very secure hack. The last
|
||||
version of LZMA Utils to use lzmash was 4.27.1.
|
||||
|
||||
LZMA Utils 4.32.0beta1 introduced a new lzma command-line tool written
|
||||
by Ville Koskinen. It was written in C++, and used the encoder and
|
||||
decoder from C++ LZMA SDK with some little modifications. This tool
|
||||
replaced both the lzmash script and the LZMA_Alone command-line tool
|
||||
in LZMA Utils.
|
||||
|
||||
Introducing this new tool caused some temporary incompatibilities,
|
||||
because the LZMA_Alone executable was simply named lzma like the new
|
||||
command-line tool, but they had a completely different command-line
|
||||
interface. The file format was still the same.
|
||||
|
||||
Lasse wrote liblzmadec, which was a small decoder-only library based
|
||||
on the C code found from LZMA SDK. liblzmadec had an API similar to
|
||||
zlib, although there were some significant differences, which made it
|
||||
non-trivial to use it in some applications designed for zlib and
|
||||
libbzip2.
|
||||
|
||||
The lzmadec command-line tool was converted to use liblzmadec.
|
||||
|
||||
Alexandre Sauvé helped converting the build system to use GNU
|
||||
Autotools. This made it easier to test for certain less portable
|
||||
features needed by the new command-line tool.
|
||||
|
||||
Since the new command-line tool never got completely finished (for
|
||||
example, it didn't support the LZMA_OPT environment variable), the
|
||||
intent was to not call 4.32.x stable. Similarly, liblzmadec wasn't
|
||||
polished, but appeared to work well enough, so some people started
|
||||
using it too.
|
||||
|
||||
Because the development of the third generation of LZMA Utils was
|
||||
delayed considerably (3-4 years), the 4.32.x branch had to be kept
|
||||
maintained. It got some bug fixes now and then, and finally it was
|
||||
decided to call it stable, although most of the missing features were
|
||||
never added.
|
||||
|
||||
|
||||
File format problems
|
||||
|
||||
The file format used by LZMA_Alone was primitive. It was designed with
|
||||
embedded systems in mind, and thus provided only a minimal set of
|
||||
features. The two biggest problems for non-embedded use were the lack
|
||||
of magic bytes and an integrity check.
|
||||
|
||||
Igor and Lasse started developing a new file format with some help
|
||||
from Ville Koskinen. Also Mark Adler, Mikko Pouru, H. Peter Anvin,
|
||||
and Lars Wirzenius helped with some minor things at some point of the
|
||||
development. Designing the new format took quite a long time (actually,
|
||||
too long a time would be a more appropriate expression). It was mostly
|
||||
because Lasse was quite slow at getting things done due to personal
|
||||
reasons.
|
||||
|
||||
Originally the new format was supposed to use the same .lzma suffix
|
||||
that was already used by the old file format. Switching to the new
|
||||
format wouldn't have caused much trouble when the old format wasn't
|
||||
used by many people. But since the development of the new format took
|
||||
such a long time, the old format got quite popular, and it was decided
|
||||
that the new file format must use a different suffix.
|
||||
|
||||
It was decided to use .xz as the suffix of the new file format. The
|
||||
first stable .xz file format specification was finally released in
|
||||
December 2008. In addition to fixing the most obvious problems of
|
||||
the old .lzma format, the .xz format added some new features like
|
||||
support for multiple filters (compression algorithms), filter chaining
|
||||
(like piping on the command line), and limited random-access reading.
|
||||
|
||||
Currently the primary compression algorithm used in .xz is LZMA2.
|
||||
It is an extension on top of the original LZMA to fix some practical
|
||||
problems: LZMA2 adds support for flushing the encoder, uncompressed
|
||||
chunks, eases stateful decoder implementations, and improves support
|
||||
for multithreading. Since LZMA2 is better than the original LZMA, the
|
||||
original LZMA is not supported in .xz.
|
||||
|
||||
|
||||
Transition to XZ Utils
|
||||
|
||||
The early versions of XZ Utils were called LZMA Utils. The first
|
||||
releases were 4.42.0alphas. They dropped the rest of the C++ LZMA SDK.
|
||||
The code was still directly based on LZMA SDK but ported to C and
|
||||
converted from a callback API to a stateful API. Later, Igor Pavlov
|
||||
made a C version of the LZMA encoder too; these ports from C++ to C
|
||||
were independent in LZMA SDK and LZMA Utils.
|
||||
|
||||
The core of the new LZMA Utils was liblzma, a compression library with
|
||||
a zlib-like API. liblzma supported both the old and new file format.
|
||||
The gzip-like lzma command-line tool was rewritten to use liblzma.
|
||||
|
||||
The new LZMA Utils code base was renamed to XZ Utils when the name
|
||||
of the new file format had been decided. The liblzma compression
|
||||
library retained its name though, because changing it would have
|
||||
caused unnecessary breakage in applications already using the early
|
||||
liblzma snapshots.
|
||||
|
||||
The xz command-line tool can emulate the gzip-like lzma tool by
|
||||
creating appropriate symlinks (e.g. lzma -> xz). Thus, practically
|
||||
all scripts using the lzma tool from LZMA Utils will work as is with
|
||||
XZ Utils (and will keep using the old .lzma format). Still, the .lzma
|
||||
format is more or less deprecated. XZ Utils will keep supporting it,
|
||||
but new applications should use the .xz format, and migrating old
|
||||
applications to .xz is often a good idea too.
|
||||
|
||||
173
.CondaPkg/env/share/doc/xz/lzma-file-format.txt
vendored
173
.CondaPkg/env/share/doc/xz/lzma-file-format.txt
vendored
@@ -1,173 +0,0 @@
|
||||
|
||||
The .lzma File Format
|
||||
=====================
|
||||
|
||||
0. Preface
|
||||
0.1. Notices and Acknowledgements
|
||||
0.2. Changes
|
||||
1. File Format
|
||||
1.1. Header
|
||||
1.1.1. Properties
|
||||
1.1.2. Dictionary Size
|
||||
1.1.3. Uncompressed Size
|
||||
1.2. LZMA Compressed Data
|
||||
2. References
|
||||
|
||||
|
||||
0. Preface
|
||||
|
||||
This document describes the .lzma file format, which is
|
||||
sometimes also called LZMA_Alone format. It is a legacy file
|
||||
format, which is being or has been replaced by the .xz format.
|
||||
The MIME type of the .lzma format is `application/x-lzma'.
|
||||
|
||||
The most commonly used software to handle .lzma files are
|
||||
LZMA SDK, LZMA Utils, 7-Zip, and XZ Utils. This document
|
||||
describes some of the differences between these implementations
|
||||
and gives hints what subset of the .lzma format is the most
|
||||
portable.
|
||||
|
||||
|
||||
0.1. Notices and Acknowledgements
|
||||
|
||||
This file format was designed by Igor Pavlov for use in
|
||||
LZMA SDK. This document was written by Lasse Collin
|
||||
<lasse.collin@tukaani.org> using the documentation found
|
||||
from the LZMA SDK.
|
||||
|
||||
This document has been put into the public domain.
|
||||
|
||||
|
||||
0.2. Changes
|
||||
|
||||
Last modified: 2022-07-13 21:00+0300
|
||||
|
||||
Compared to the previous version (2011-04-12 11:55+0300)
|
||||
the section 1.1.3 was modified to allow End of Payload Marker
|
||||
with a known Uncompressed Size.
|
||||
|
||||
|
||||
1. File Format
|
||||
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+
|
||||
| Header | LZMA Compressed Data |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+
|
||||
|
||||
The .lzma format file consist of 13-byte Header followed by
|
||||
the LZMA Compressed Data.
|
||||
|
||||
Unlike the .gz, .bz2, and .xz formats, it is not possible to
|
||||
concatenate multiple .lzma files as is and expect the
|
||||
decompression tool to decode the resulting file as if it were
|
||||
a single .lzma file.
|
||||
|
||||
For example, the command line tools from LZMA Utils and
|
||||
LZMA SDK silently ignore all the data after the first .lzma
|
||||
stream. In contrast, the command line tool from XZ Utils
|
||||
considers the .lzma file to be corrupt if there is data after
|
||||
the first .lzma stream.
|
||||
|
||||
|
||||
1.1. Header
|
||||
|
||||
+------------+----+----+----+----+--+--+--+--+--+--+--+--+
|
||||
| Properties | Dictionary Size | Uncompressed Size |
|
||||
+------------+----+----+----+----+--+--+--+--+--+--+--+--+
|
||||
|
||||
|
||||
1.1.1. Properties
|
||||
|
||||
The Properties field contains three properties. An abbreviation
|
||||
is given in parentheses, followed by the value range of the
|
||||
property. The field consists of
|
||||
|
||||
1) the number of literal context bits (lc, [0, 8]);
|
||||
2) the number of literal position bits (lp, [0, 4]); and
|
||||
3) the number of position bits (pb, [0, 4]).
|
||||
|
||||
The properties are encoded using the following formula:
|
||||
|
||||
Properties = (pb * 5 + lp) * 9 + lc
|
||||
|
||||
The following C code illustrates a straightforward way to
|
||||
decode the Properties field:
|
||||
|
||||
uint8_t lc, lp, pb;
|
||||
uint8_t prop = get_lzma_properties();
|
||||
if (prop > (4 * 5 + 4) * 9 + 8)
|
||||
return LZMA_PROPERTIES_ERROR;
|
||||
|
||||
pb = prop / (9 * 5);
|
||||
prop -= pb * 9 * 5;
|
||||
lp = prop / 9;
|
||||
lc = prop - lp * 9;
|
||||
|
||||
XZ Utils has an additional requirement: lc + lp <= 4. Files
|
||||
which don't follow this requirement cannot be decompressed
|
||||
with XZ Utils. Usually this isn't a problem since the most
|
||||
common lc/lp/pb values are 3/0/2. It is the only lc/lp/pb
|
||||
combination that the files created by LZMA Utils can have,
|
||||
but LZMA Utils can decompress files with any lc/lp/pb.
|
||||
|
||||
|
||||
1.1.2. Dictionary Size
|
||||
|
||||
Dictionary Size is stored as an unsigned 32-bit little endian
|
||||
integer. Any 32-bit value is possible, but for maximum
|
||||
portability, only sizes of 2^n and 2^n + 2^(n-1) should be
|
||||
used.
|
||||
|
||||
LZMA Utils creates only files with dictionary size 2^n,
|
||||
16 <= n <= 25. LZMA Utils can decompress files with any
|
||||
dictionary size.
|
||||
|
||||
XZ Utils creates and decompresses .lzma files only with
|
||||
dictionary sizes 2^n and 2^n + 2^(n-1). If some other
|
||||
dictionary size is specified when compressing, the value
|
||||
stored in the Dictionary Size field is a rounded up, but the
|
||||
specified value is still used in the actual compression code.
|
||||
|
||||
|
||||
1.1.3. Uncompressed Size
|
||||
|
||||
Uncompressed Size is stored as unsigned 64-bit little endian
|
||||
integer. A special value of 0xFFFF_FFFF_FFFF_FFFF indicates
|
||||
that Uncompressed Size is unknown. End of Payload Marker (*)
|
||||
is used if Uncompressed Size is unknown. End of Payload Marker
|
||||
is allowed but rarely used if Uncompressed Size is known.
|
||||
XZ Utils 5.2.5 and older don't support .lzma files that have
|
||||
End of Payload Marker together with a known Uncompressed Size.
|
||||
|
||||
XZ Utils rejects files whose Uncompressed Size field specifies
|
||||
a known size that is 256 GiB or more. This is to reject false
|
||||
positives when trying to guess if the input file is in the
|
||||
.lzma format. When Uncompressed Size is unknown, there is no
|
||||
limit for the uncompressed size of the file.
|
||||
|
||||
(*) Some tools use the term End of Stream (EOS) marker
|
||||
instead of End of Payload Marker.
|
||||
|
||||
|
||||
1.2. LZMA Compressed Data
|
||||
|
||||
Detailed description of the format of this field is out of
|
||||
scope of this document.
|
||||
|
||||
|
||||
2. References
|
||||
|
||||
LZMA SDK - The original LZMA implementation
|
||||
http://7-zip.org/sdk.html
|
||||
|
||||
7-Zip
|
||||
http://7-zip.org/
|
||||
|
||||
LZMA Utils - LZMA adapted to POSIX-like systems
|
||||
http://tukaani.org/lzma/
|
||||
|
||||
XZ Utils - The next generation of LZMA Utils
|
||||
http://tukaani.org/xz/
|
||||
|
||||
The .xz file format - The successor of the .lzma format
|
||||
http://tukaani.org/xz/xz-file-format.txt
|
||||
|
||||
1150
.CondaPkg/env/share/doc/xz/xz-file-format.txt
vendored
1150
.CondaPkg/env/share/doc/xz/xz-file-format.txt
vendored
File diff suppressed because it is too large
Load Diff
1426
.CondaPkg/env/share/info/history.info
vendored
1426
.CondaPkg/env/share/info/history.info
vendored
File diff suppressed because it is too large
Load Diff
1062
.CondaPkg/env/share/info/libffi.info
vendored
1062
.CondaPkg/env/share/info/libffi.info
vendored
File diff suppressed because it is too large
Load Diff
5687
.CondaPkg/env/share/info/libgomp.info
vendored
5687
.CondaPkg/env/share/info/libgomp.info
vendored
File diff suppressed because it is too large
Load Diff
811
.CondaPkg/env/share/info/libquadmath.info
vendored
811
.CondaPkg/env/share/info/libquadmath.info
vendored
@@ -1,811 +0,0 @@
|
||||
This is libquadmath.info, produced by makeinfo version 6.5 from
|
||||
libquadmath.texi.
|
||||
|
||||
Copyright (C) 2010-2022 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.2 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, with the Front-Cover Texts
|
||||
being "A GNU Manual," and with the Back-Cover Texts as in (a)
|
||||
below. A copy of the license is included in the section entitled
|
||||
"GNU Free Documentation License."
|
||||
|
||||
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
|
||||
modify this GNU manual.
|
||||
INFO-DIR-SECTION GNU Libraries
|
||||
START-INFO-DIR-ENTRY
|
||||
* libquadmath: (libquadmath). GCC Quad-Precision Math Library
|
||||
END-INFO-DIR-ENTRY
|
||||
|
||||
This manual documents the GCC Quad-Precision Math Library API.
|
||||
|
||||
Published by the Free Software Foundation 51 Franklin Street, Fifth
|
||||
Floor Boston, MA 02110-1301 USA
|
||||
|
||||
Copyright (C) 2010-2022 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License,
|
||||
Version 1.2 or any later version published by the Free Software
|
||||
Foundation; with no Invariant Sections, with the Front-Cover Texts
|
||||
being "A GNU Manual," and with the Back-Cover Texts as in (a)
|
||||
below. A copy of the license is included in the section entitled
|
||||
"GNU Free Documentation License."
|
||||
|
||||
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
|
||||
modify this GNU manual.
|
||||
|
||||
|
||||
File: libquadmath.info, Node: Top, Next: Typedef and constants, Up: (dir)
|
||||
|
||||
Introduction
|
||||
************
|
||||
|
||||
This manual documents the usage of libquadmath, the GCC Quad-Precision
|
||||
Math Library Application Programming Interface (API).
|
||||
|
||||
* Menu:
|
||||
|
||||
* Typedef and constants:: Defined data types and constants
|
||||
* Math Library Routines:: The Libquadmath math runtime application
|
||||
programming interface.
|
||||
* I/O Library Routines:: The Libquadmath I/O runtime application
|
||||
programming interface.
|
||||
* GNU Free Documentation License::
|
||||
How you can copy and share this manual.
|
||||
* Reporting Bugs:: How to report bugs in GCC Libquadmath.
|
||||
|
||||
|
||||
File: libquadmath.info, Node: Typedef and constants, Next: Math Library Routines, Prev: Top, Up: Top
|
||||
|
||||
1 Typedef and constants
|
||||
***********************
|
||||
|
||||
The following data type has been defined via 'typedef'.
|
||||
|
||||
'__complex128': '__float128'-based complex number
|
||||
|
||||
The following macros are defined, which give the numeric limits of
|
||||
the '__float128' data type.
|
||||
|
||||
'FLT128_MAX': largest finite number
|
||||
'FLT128_MIN': smallest positive number with full precision
|
||||
'FLT128_EPSILON': difference between 1 and the next larger
|
||||
representable number
|
||||
'FLT128_DENORM_MIN': smallest positive denormalized number
|
||||
'FLT128_MANT_DIG': number of digits in the mantissa (bit precision)
|
||||
'FLT128_MIN_EXP': maximal negative exponent
|
||||
'FLT128_MAX_EXP': maximal positive exponent
|
||||
'FLT128_DIG': number of decimal digits in the mantissa
|
||||
'FLT128_MIN_10_EXP': maximal negative decimal exponent
|
||||
'FLT128_MAX_10_EXP': maximal positive decimal exponent
|
||||
|
||||
The following mathematical constants of type '__float128' are
|
||||
defined.
|
||||
|
||||
'M_Eq': the constant e (Euler's number)
|
||||
'M_LOG2Eq': binary logarithm of 2
|
||||
'M_LOG10Eq': common, decimal logarithm of 2
|
||||
'M_LN2q': natural logarithm of 2
|
||||
'M_LN10q': natural logarithm of 10
|
||||
'M_PIq': pi
|
||||
'M_PI_2q': pi divided by two
|
||||
'M_PI_4q': pi divided by four
|
||||
'M_1_PIq': one over pi
|
||||
'M_2_PIq': one over two pi
|
||||
'M_2_SQRTPIq': two over square root of pi
|
||||
'M_SQRT2q': square root of 2
|
||||
'M_SQRT1_2q': one over square root of 2
|
||||
|
||||
|
||||
File: libquadmath.info, Node: Math Library Routines, Next: I/O Library Routines, Prev: Typedef and constants, Up: Top
|
||||
|
||||
2 Math Library Routines
|
||||
***********************
|
||||
|
||||
The following mathematical functions are available:
|
||||
|
||||
'acosq': arc cosine function
|
||||
'acoshq': inverse hyperbolic cosine function
|
||||
'asinq': arc sine function
|
||||
'asinhq': inverse hyperbolic sine function
|
||||
'atanq': arc tangent function
|
||||
'atanhq': inverse hyperbolic tangent function
|
||||
'atan2q': arc tangent function
|
||||
'cbrtq': cube root function
|
||||
'ceilq': ceiling value function
|
||||
'copysignq': copy sign of a number
|
||||
'coshq': hyperbolic cosine function
|
||||
'cosq': cosine function
|
||||
'erfq': error function
|
||||
'erfcq': complementary error function
|
||||
'exp2q': base 2 exponential function
|
||||
'expq': exponential function
|
||||
'expm1q': exponential minus 1 function
|
||||
'fabsq': absolute value function
|
||||
'fdimq': positive difference function
|
||||
'finiteq': check finiteness of value
|
||||
'floorq': floor value function
|
||||
'fmaq': fused multiply and add
|
||||
'fmaxq': determine maximum of two values
|
||||
'fminq': determine minimum of two values
|
||||
'fmodq': remainder value function
|
||||
'frexpq': extract mantissa and exponent
|
||||
'hypotq': Eucledian distance function
|
||||
'ilogbq': get exponent of the value
|
||||
'isinfq': check for infinity
|
||||
'isnanq': check for not a number
|
||||
'issignalingq': check for signaling not a number
|
||||
'j0q': Bessel function of the first kind, first order
|
||||
'j1q': Bessel function of the first kind, second order
|
||||
'jnq': Bessel function of the first kind, N-th order
|
||||
'ldexpq': load exponent of the value
|
||||
'lgammaq': logarithmic gamma function
|
||||
'llrintq': round to nearest integer value
|
||||
'llroundq': round to nearest integer value away from zero
|
||||
'logbq': get exponent of the value
|
||||
'logq': natural logarithm function
|
||||
'log10q': base 10 logarithm function
|
||||
'log1pq': compute natural logarithm of the value plus one
|
||||
'log2q': base 2 logarithm function
|
||||
'lrintq': round to nearest integer value
|
||||
'lroundq': round to nearest integer value away from zero
|
||||
'modfq': decompose the floating-point number
|
||||
'nanq': return quiet NaN
|
||||
'nearbyintq': round to nearest integer
|
||||
'nextafterq': next representable floating-point number
|
||||
'powq': power function
|
||||
'remainderq': remainder function
|
||||
'remquoq': remainder and part of quotient
|
||||
'rintq': round-to-nearest integral value
|
||||
'roundq': round-to-nearest integral value, return '__float128'
|
||||
'scalblnq': compute exponent using 'FLT_RADIX'
|
||||
'scalbnq': compute exponent using 'FLT_RADIX'
|
||||
'signbitq': return sign bit
|
||||
'sincosq': calculate sine and cosine simultaneously
|
||||
'sinhq': hyperbolic sine function
|
||||
'sinq': sine function
|
||||
'sqrtq': square root function
|
||||
'tanq': tangent function
|
||||
'tanhq': hyperbolic tangent function
|
||||
'tgammaq': true gamma function
|
||||
'truncq': round to integer, towards zero
|
||||
'y0q': Bessel function of the second kind, first order
|
||||
'y1q': Bessel function of the second kind, second order
|
||||
'ynq': Bessel function of the second kind, N-th order
|
||||
'cabsq' complex absolute value function
|
||||
'cargq': calculate the argument
|
||||
'cimagq' imaginary part of complex number
|
||||
'crealq': real part of complex number
|
||||
'cacoshq': complex arc hyperbolic cosine function
|
||||
'cacosq': complex arc cosine function
|
||||
'casinhq': complex arc hyperbolic sine function
|
||||
'casinq': complex arc sine function
|
||||
'catanhq': complex arc hyperbolic tangent function
|
||||
'catanq': complex arc tangent function
|
||||
'ccosq' complex cosine function:
|
||||
'ccoshq': complex hyperbolic cosine function
|
||||
'cexpq': complex exponential function
|
||||
'cexpiq': computes the exponential function of "i" times a
|
||||
real value
|
||||
'clogq': complex natural logarithm
|
||||
'clog10q': complex base 10 logarithm
|
||||
'conjq': complex conjugate function
|
||||
'cpowq': complex power function
|
||||
'cprojq': project into Riemann Sphere
|
||||
'csinq': complex sine function
|
||||
'csinhq': complex hyperbolic sine function
|
||||
'csqrtq': complex square root
|
||||
'ctanq': complex tangent function
|
||||
'ctanhq': complex hyperbolic tangent function
|
||||
|
||||
|
||||
File: libquadmath.info, Node: I/O Library Routines, Next: GNU Free Documentation License, Prev: Math Library Routines, Up: Top
|
||||
|
||||
3 I/O Library Routines
|
||||
**********************
|
||||
|
||||
* Menu:
|
||||
|
||||
* 'strtoflt128': strtoflt128, Convert from string
|
||||
* 'quadmath_snprintf': quadmath_snprintf, Convert to string
|
||||
|
||||
|
||||
File: libquadmath.info, Node: strtoflt128, Next: quadmath_snprintf, Up: I/O Library Routines
|
||||
|
||||
3.1 'strtoflt128' -- Convert from string
|
||||
========================================
|
||||
|
||||
The function 'strtoflt128' converts a string into a '__float128' number.
|
||||
|
||||
Syntax
|
||||
'__float128 strtoflt128 (const char *s, char **sp)'
|
||||
|
||||
_Arguments_:
|
||||
S input string
|
||||
SP the address of the next character in the string
|
||||
|
||||
The argument SP contains, if not 'NULL', the address of the next
|
||||
character following the parts of the string, which have been read.
|
||||
|
||||
Example
|
||||
#include <quadmath.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
__float128 r;
|
||||
|
||||
r = strtoflt128 ("1.2345678", NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
File: libquadmath.info, Node: quadmath_snprintf, Prev: strtoflt128, Up: I/O Library Routines
|
||||
|
||||
3.2 'quadmath_snprintf' -- Convert to string
|
||||
============================================
|
||||
|
||||
The function 'quadmath_snprintf' converts a '__float128' floating-point
|
||||
number into a string. It is a specialized alternative to 'snprintf',
|
||||
where the format string is restricted to a single conversion specifier
|
||||
with 'Q' modifier and conversion specifier 'e', 'E', 'f', 'F', 'g', 'G',
|
||||
'a' or 'A', with no extra characters before or after the conversion
|
||||
specifier. The '%m$' or '*m$' style must not be used in the format.
|
||||
|
||||
Syntax
|
||||
'int quadmath_snprintf (char *s, size_t size, const char *format,
|
||||
...)'
|
||||
|
||||
_Arguments_:
|
||||
S output string
|
||||
SIZE byte size of the string, including trailing NUL
|
||||
FORMAT conversion specifier string
|
||||
|
||||
Note
|
||||
On some targets when supported by the C library hooks are installed
|
||||
for 'printf' family of functions, so that 'printf ("%Qe", 1.2Q);'
|
||||
etc. works too.
|
||||
|
||||
Example
|
||||
#include <quadmath.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main ()
|
||||
{
|
||||
__float128 r;
|
||||
int prec = 20;
|
||||
int width = 46;
|
||||
char buf[128];
|
||||
|
||||
r = 2.0q;
|
||||
r = sqrtq (r);
|
||||
int n = quadmath_snprintf (buf, sizeof buf, "%+-#*.20Qe", width, r);
|
||||
if ((size_t) n < sizeof buf)
|
||||
printf ("%s\n", buf);
|
||||
/* Prints: +1.41421356237309504880e+00 */
|
||||
quadmath_snprintf (buf, sizeof buf, "%Qa", r);
|
||||
if ((size_t) n < sizeof buf)
|
||||
printf ("%s\n", buf);
|
||||
/* Prints: 0x1.6a09e667f3bcc908b2fb1366ea96p+0 */
|
||||
n = quadmath_snprintf (NULL, 0, "%+-#46.*Qe", prec, r);
|
||||
if (n > -1)
|
||||
{
|
||||
char *str = malloc (n + 1);
|
||||
if (str)
|
||||
{
|
||||
quadmath_snprintf (str, n + 1, "%+-#46.*Qe", prec, r);
|
||||
printf ("%s\n", str);
|
||||
/* Prints: +1.41421356237309504880e+00 */
|
||||
}
|
||||
free (str);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
File: libquadmath.info, Node: GNU Free Documentation License, Next: Reporting Bugs, Prev: I/O Library Routines, Up: Top
|
||||
|
||||
GNU Free Documentation License
|
||||
******************************
|
||||
|
||||
Version 1.3, 3 November 2008
|
||||
|
||||
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
<https://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
0. PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document "free" in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or
|
||||
noncommercially. Secondarily, this License preserves for the
|
||||
author and publisher a way to get credit for their work, while not
|
||||
being considered responsible for modifications made by others.
|
||||
|
||||
This License is a kind of "copyleft", which means that derivative
|
||||
works of the document must themselves be free in the same sense.
|
||||
It complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for
|
||||
free software, because free software needs free documentation: a
|
||||
free program should come with manuals providing the same freedoms
|
||||
that the software does. But this License is not limited to
|
||||
software manuals; it can be used for any textual work, regardless
|
||||
of subject matter or whether it is published as a printed book. We
|
||||
recommend this License principally for works whose purpose is
|
||||
instruction or reference.
|
||||
|
||||
1. APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium,
|
||||
that contains a notice placed by the copyright holder saying it can
|
||||
be distributed under the terms of this License. Such a notice
|
||||
grants a world-wide, royalty-free license, unlimited in duration,
|
||||
to use that work under the conditions stated herein. The
|
||||
"Document", below, refers to any such manual or work. Any member
|
||||
of the public is a licensee, and is addressed as "you". You accept
|
||||
the license if you copy, modify or distribute the work in a way
|
||||
requiring permission under copyright law.
|
||||
|
||||
A "Modified Version" of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could
|
||||
fall directly within that overall subject. (Thus, if the Document
|
||||
is in part a textbook of mathematics, a Secondary Section may not
|
||||
explain any mathematics.) The relationship could be a matter of
|
||||
historical connection with the subject or with related matters, or
|
||||
of legal, commercial, philosophical, ethical or political position
|
||||
regarding them.
|
||||
|
||||
The "Invariant Sections" are certain Secondary Sections whose
|
||||
titles are designated, as being those of Invariant Sections, in the
|
||||
notice that says that the Document is released under this License.
|
||||
If a section does not fit the above definition of Secondary then it
|
||||
is not allowed to be designated as Invariant. The Document may
|
||||
contain zero Invariant Sections. If the Document does not identify
|
||||
any Invariant Sections then there are none.
|
||||
|
||||
The "Cover Texts" are certain short passages of text that are
|
||||
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
||||
that says that the Document is released under this License. A
|
||||
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
|
||||
be at most 25 words.
|
||||
|
||||
A "Transparent" copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed
|
||||
of pixels) generic paint programs or (for drawings) some widely
|
||||
available drawing editor, and that is suitable for input to text
|
||||
formatters or for automatic translation to a variety of formats
|
||||
suitable for input to text formatters. A copy made in an otherwise
|
||||
Transparent file format whose markup, or absence of markup, has
|
||||
been arranged to thwart or discourage subsequent modification by
|
||||
readers is not Transparent. An image format is not Transparent if
|
||||
used for any substantial amount of text. A copy that is not
|
||||
"Transparent" is called "Opaque".
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, LaTeX input format,
|
||||
SGML or XML using a publicly available DTD, and standard-conforming
|
||||
simple HTML, PostScript or PDF designed for human modification.
|
||||
Examples of transparent image formats include PNG, XCF and JPG.
|
||||
Opaque formats include proprietary formats that can be read and
|
||||
edited only by proprietary word processors, SGML or XML for which
|
||||
the DTD and/or processing tools are not generally available, and
|
||||
the machine-generated HTML, PostScript or PDF produced by some word
|
||||
processors for output purposes only.
|
||||
|
||||
The "Title Page" means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the
|
||||
material this License requires to appear in the title page. For
|
||||
works in formats which do not have any title page as such, "Title
|
||||
Page" means the text near the most prominent appearance of the
|
||||
work's title, preceding the beginning of the body of the text.
|
||||
|
||||
The "publisher" means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section "Entitled XYZ" means a named subunit of the Document
|
||||
whose title either is precisely XYZ or contains XYZ in parentheses
|
||||
following text that translates XYZ in another language. (Here XYZ
|
||||
stands for a specific section name mentioned below, such as
|
||||
"Acknowledgements", "Dedications", "Endorsements", or "History".)
|
||||
To "Preserve the Title" of such a section when you modify the
|
||||
Document means that it remains a section "Entitled XYZ" according
|
||||
to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice
|
||||
which states that this License applies to the Document. These
|
||||
Warranty Disclaimers are considered to be included by reference in
|
||||
this License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and
|
||||
has no effect on the meaning of this License.
|
||||
|
||||
2. VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License
|
||||
applies to the Document are reproduced in all copies, and that you
|
||||
add no other conditions whatsoever to those of this License. You
|
||||
may not use technical measures to obstruct or control the reading
|
||||
or further copying of the copies you make or distribute. However,
|
||||
you may accept compensation in exchange for copies. If you
|
||||
distribute a large enough number of copies you must also follow the
|
||||
conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above,
|
||||
and you may publicly display copies.
|
||||
|
||||
3. COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly
|
||||
have printed covers) of the Document, numbering more than 100, and
|
||||
the Document's license notice requires Cover Texts, you must
|
||||
enclose the copies in covers that carry, clearly and legibly, all
|
||||
these Cover Texts: Front-Cover Texts on the front cover, and
|
||||
Back-Cover Texts on the back cover. Both covers must also clearly
|
||||
and legibly identify you as the publisher of these copies. The
|
||||
front cover must present the full title with all words of the title
|
||||
equally prominent and visible. You may add other material on the
|
||||
covers in addition. Copying with changes limited to the covers, as
|
||||
long as they preserve the title of the Document and satisfy these
|
||||
conditions, can be treated as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto
|
||||
adjacent pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document
|
||||
numbering more than 100, you must either include a machine-readable
|
||||
Transparent copy along with each Opaque copy, or state in or with
|
||||
each Opaque copy a computer-network location from which the general
|
||||
network-using public has access to download using public-standard
|
||||
network protocols a complete Transparent copy of the Document, free
|
||||
of added material. If you use the latter option, you must take
|
||||
reasonably prudent steps, when you begin distribution of Opaque
|
||||
copies in quantity, to ensure that this Transparent copy will
|
||||
remain thus accessible at the stated location until at least one
|
||||
year after the last time you distribute an Opaque copy (directly or
|
||||
through your agents or retailers) of that edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of
|
||||
the Document well before redistributing any large number of copies,
|
||||
to give them a chance to provide you with an updated version of the
|
||||
Document.
|
||||
|
||||
4. MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document
|
||||
under the conditions of sections 2 and 3 above, provided that you
|
||||
release the Modified Version under precisely this License, with the
|
||||
Modified Version filling the role of the Document, thus licensing
|
||||
distribution and modification of the Modified Version to whoever
|
||||
possesses a copy of it. In addition, you must do these things in
|
||||
the Modified Version:
|
||||
|
||||
A. Use in the Title Page (and on the covers, if any) a title
|
||||
distinct from that of the Document, and from those of previous
|
||||
versions (which should, if there were any, be listed in the
|
||||
History section of the Document). You may use the same title
|
||||
as a previous version if the original publisher of that
|
||||
version gives permission.
|
||||
|
||||
B. List on the Title Page, as authors, one or more persons or
|
||||
entities responsible for authorship of the modifications in
|
||||
the Modified Version, together with at least five of the
|
||||
principal authors of the Document (all of its principal
|
||||
authors, if it has fewer than five), unless they release you
|
||||
from this requirement.
|
||||
|
||||
C. State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
D. Preserve all the copyright notices of the Document.
|
||||
|
||||
E. Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
F. Include, immediately after the copyright notices, a license
|
||||
notice giving the public permission to use the Modified
|
||||
Version under the terms of this License, in the form shown in
|
||||
the Addendum below.
|
||||
|
||||
G. Preserve in that license notice the full lists of Invariant
|
||||
Sections and required Cover Texts given in the Document's
|
||||
license notice.
|
||||
|
||||
H. Include an unaltered copy of this License.
|
||||
|
||||
I. Preserve the section Entitled "History", Preserve its Title,
|
||||
and add to it an item stating at least the title, year, new
|
||||
authors, and publisher of the Modified Version as given on the
|
||||
Title Page. If there is no section Entitled "History" in the
|
||||
Document, create one stating the title, year, authors, and
|
||||
publisher of the Document as given on its Title Page, then add
|
||||
an item describing the Modified Version as stated in the
|
||||
previous sentence.
|
||||
|
||||
J. Preserve the network location, if any, given in the Document
|
||||
for public access to a Transparent copy of the Document, and
|
||||
likewise the network locations given in the Document for
|
||||
previous versions it was based on. These may be placed in the
|
||||
"History" section. You may omit a network location for a work
|
||||
that was published at least four years before the Document
|
||||
itself, or if the original publisher of the version it refers
|
||||
to gives permission.
|
||||
|
||||
K. For any section Entitled "Acknowledgements" or "Dedications",
|
||||
Preserve the Title of the section, and preserve in the section
|
||||
all the substance and tone of each of the contributor
|
||||
acknowledgements and/or dedications given therein.
|
||||
|
||||
L. Preserve all the Invariant Sections of the Document, unaltered
|
||||
in their text and in their titles. Section numbers or the
|
||||
equivalent are not considered part of the section titles.
|
||||
|
||||
M. Delete any section Entitled "Endorsements". Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
N. Do not retitle any existing section to be Entitled
|
||||
"Endorsements" or to conflict in title with any Invariant
|
||||
Section.
|
||||
|
||||
O. Preserve any Warranty Disclaimers.
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no
|
||||
material copied from the Document, you may at your option designate
|
||||
some or all of these sections as invariant. To do this, add their
|
||||
titles to the list of Invariant Sections in the Modified Version's
|
||||
license notice. These titles must be distinct from any other
|
||||
section titles.
|
||||
|
||||
You may add a section Entitled "Endorsements", provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties--for example, statements of peer review or that the text
|
||||
has been approved by an organization as the authoritative
|
||||
definition of a standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text,
|
||||
and a passage of up to 25 words as a Back-Cover Text, to the end of
|
||||
the list of Cover Texts in the Modified Version. Only one passage
|
||||
of Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document
|
||||
already includes a cover text for the same cover, previously added
|
||||
by you or by arrangement made by the same entity you are acting on
|
||||
behalf of, you may not add another; but you may replace the old
|
||||
one, on explicit permission from the previous publisher that added
|
||||
the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this
|
||||
License give permission to use their names for publicity for or to
|
||||
assert or imply endorsement of any Modified Version.
|
||||
|
||||
5. COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under
|
||||
this License, under the terms defined in section 4 above for
|
||||
modified versions, provided that you include in the combination all
|
||||
of the Invariant Sections of all of the original documents,
|
||||
unmodified, and list them all as Invariant Sections of your
|
||||
combined work in its license notice, and that you preserve all
|
||||
their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name
|
||||
but different contents, make the title of each such section unique
|
||||
by adding at the end of it, in parentheses, the name of the
|
||||
original author or publisher of that section if known, or else a
|
||||
unique number. Make the same adjustment to the section titles in
|
||||
the list of Invariant Sections in the license notice of the
|
||||
combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled
|
||||
"History" in the various original documents, forming one section
|
||||
Entitled "History"; likewise combine any sections Entitled
|
||||
"Acknowledgements", and any sections Entitled "Dedications". You
|
||||
must delete all sections Entitled "Endorsements."
|
||||
|
||||
6. COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other
|
||||
documents released under this License, and replace the individual
|
||||
copies of this License in the various documents with a single copy
|
||||
that is included in the collection, provided that you follow the
|
||||
rules of this License for verbatim copying of each of the documents
|
||||
in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and
|
||||
distribute it individually under this License, provided you insert
|
||||
a copy of this License into the extracted document, and follow this
|
||||
License in all other respects regarding verbatim copying of that
|
||||
document.
|
||||
|
||||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other
|
||||
separate and independent documents or works, in or on a volume of a
|
||||
storage or distribution medium, is called an "aggregate" if the
|
||||
copyright resulting from the compilation is not used to limit the
|
||||
legal rights of the compilation's users beyond what the individual
|
||||
works permit. When the Document is included in an aggregate, this
|
||||
License does not apply to the other works in the aggregate which
|
||||
are not themselves derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half
|
||||
of the entire aggregate, the Document's Cover Texts may be placed
|
||||
on covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic
|
||||
form. Otherwise they must appear on printed covers that bracket
|
||||
the whole aggregate.
|
||||
|
||||
8. TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section
|
||||
4. Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also
|
||||
include the original English version of this License and the
|
||||
original versions of those notices and disclaimers. In case of a
|
||||
disagreement between the translation and the original version of
|
||||
this License or a notice or disclaimer, the original version will
|
||||
prevail.
|
||||
|
||||
If a section in the Document is Entitled "Acknowledgements",
|
||||
"Dedications", or "History", the requirement (section 4) to
|
||||
Preserve its Title (section 1) will typically require changing the
|
||||
actual title.
|
||||
|
||||
9. TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void,
|
||||
and will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the
|
||||
copyright holder fails to notify you of the violation by some
|
||||
reasonable means prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from
|
||||
that copyright holder, and you cure the violation prior to 30 days
|
||||
after your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate
|
||||
the licenses of parties who have received copies or rights from you
|
||||
under this License. If your rights have been terminated and not
|
||||
permanently reinstated, receipt of a copy of some or all of the
|
||||
same material does not give you any rights to use it.
|
||||
|
||||
10. FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions of
|
||||
the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
<https://www.gnu.org/copyleft/>.
|
||||
|
||||
Each version of the License is given a distinguishing version
|
||||
number. If the Document specifies that a particular numbered
|
||||
version of this License "or any later version" applies to it, you
|
||||
have the option of following the terms and conditions either of
|
||||
that specified version or of any later version that has been
|
||||
published (not as a draft) by the Free Software Foundation. If the
|
||||
Document does not specify a version number of this License, you may
|
||||
choose any version ever published (not as a draft) by the Free
|
||||
Software Foundation. If the Document specifies that a proxy can
|
||||
decide which future versions of this License can be used, that
|
||||
proxy's public statement of acceptance of a version permanently
|
||||
authorizes you to choose that version for the Document.
|
||||
|
||||
11. RELICENSING
|
||||
|
||||
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server.
|
||||
A "Massive Multiauthor Collaboration" (or "MMC") contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
"Incorporate" means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is "eligible for relicensing" if it is licensed under this
|
||||
License, and if all works that were first published under this
|
||||
License somewhere other than this MMC, and subsequently
|
||||
incorporated in whole or in part into the MMC, (1) had no cover
|
||||
texts or invariant sections, and (2) were thus incorporated prior
|
||||
to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the
|
||||
site under CC-BY-SA on the same site at any time before August 1,
|
||||
2009, provided the MMC is eligible for relicensing.
|
||||
|
||||
ADDENDUM: How to use this License for your documents
|
||||
====================================================
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and license
|
||||
notices just after the title page:
|
||||
|
||||
Copyright (C) YEAR YOUR NAME.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
||||
Texts, replace the "with...Texts." line with this:
|
||||
|
||||
with the Invariant Sections being LIST THEIR TITLES, with
|
||||
the Front-Cover Texts being LIST, and with the Back-Cover Texts
|
||||
being LIST.
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of free
|
||||
software license, such as the GNU General Public License, to permit
|
||||
their use in free software.
|
||||
|
||||
|
||||
File: libquadmath.info, Node: Reporting Bugs, Prev: GNU Free Documentation License, Up: Top
|
||||
|
||||
4 Reporting Bugs
|
||||
****************
|
||||
|
||||
Bugs in the GCC Quad-Precision Math Library implementation should be
|
||||
reported via <https://gcc.gnu.org/bugs/>.
|
||||
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top1633
|
||||
Node: Typedef and constants2367
|
||||
Node: Math Library Routines3786
|
||||
Node: I/O Library Routines7623
|
||||
Node: strtoflt1287948
|
||||
Node: quadmath_snprintf8708
|
||||
Node: GNU Free Documentation License10919
|
||||
Node: Reporting Bugs36068
|
||||
|
||||
End Tag Table
|
||||
5320
.CondaPkg/env/share/info/readline.info
vendored
5320
.CondaPkg/env/share/info/readline.info
vendored
File diff suppressed because it is too large
Load Diff
2087
.CondaPkg/env/share/info/rluserman.info
vendored
2087
.CondaPkg/env/share/info/rluserman.info
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,73 +0,0 @@
|
||||
GCC RUNTIME LIBRARY EXCEPTION
|
||||
|
||||
Version 3.1, 31 March 2009
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
This GCC Runtime Library Exception ("Exception") is an additional
|
||||
permission under section 7 of the GNU General Public License, version
|
||||
3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
|
||||
bears a notice placed by the copyright holder of the file stating that
|
||||
the file is governed by GPLv3 along with this Exception.
|
||||
|
||||
When you use GCC to compile a program, GCC may combine portions of
|
||||
certain GCC header files and runtime libraries with the compiled
|
||||
program. The purpose of this Exception is to allow compilation of
|
||||
non-GPL (including proprietary) programs to use, in this way, the
|
||||
header files and runtime libraries covered by this Exception.
|
||||
|
||||
0. Definitions.
|
||||
|
||||
A file is an "Independent Module" if it either requires the Runtime
|
||||
Library for execution after a Compilation Process, or makes use of an
|
||||
interface provided by the Runtime Library, but is not otherwise based
|
||||
on the Runtime Library.
|
||||
|
||||
"GCC" means a version of the GNU Compiler Collection, with or without
|
||||
modifications, governed by version 3 (or a specified later version) of
|
||||
the GNU General Public License (GPL) with the option of using any
|
||||
subsequent versions published by the FSF.
|
||||
|
||||
"GPL-compatible Software" is software whose conditions of propagation,
|
||||
modification and use would permit combination with GCC in accord with
|
||||
the license of GCC.
|
||||
|
||||
"Target Code" refers to output from any compiler for a real or virtual
|
||||
target processor architecture, in executable form or suitable for
|
||||
input to an assembler, loader, linker and/or execution
|
||||
phase. Notwithstanding that, Target Code does not include data in any
|
||||
format that is used as a compiler intermediate representation, or used
|
||||
for producing a compiler intermediate representation.
|
||||
|
||||
The "Compilation Process" transforms code entirely represented in
|
||||
non-intermediate languages designed for human-written code, and/or in
|
||||
Java Virtual Machine byte code, into Target Code. Thus, for example,
|
||||
use of source code generators and preprocessors need not be considered
|
||||
part of the Compilation Process, since the Compilation Process can be
|
||||
understood as starting with the output of the generators or
|
||||
preprocessors.
|
||||
|
||||
A Compilation Process is "Eligible" if it is done using GCC, alone or
|
||||
with other GPL-compatible software, or if it is done without using any
|
||||
work based on GCC. For example, using non-GPL-compatible Software to
|
||||
optimize any GCC intermediate representations would not qualify as an
|
||||
Eligible Compilation Process.
|
||||
|
||||
1. Grant of Additional Permission.
|
||||
|
||||
You have permission to propagate a work of Target Code formed by
|
||||
combining the Runtime Library with Independent Modules, even if such
|
||||
propagation would otherwise violate the terms of GPLv3, provided that
|
||||
all Target Code was generated by Eligible Compilation Processes. You
|
||||
may then convey such a combination under terms of your choice,
|
||||
consistent with the licensing of the Independent Modules.
|
||||
|
||||
2. No Weakening of GCC Copyleft.
|
||||
|
||||
The availability of this Exception does not imply any general
|
||||
presumption that third-party software is unaffected by the copyleft
|
||||
requirements of the license of GCC.
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
GCC RUNTIME LIBRARY EXCEPTION
|
||||
|
||||
Version 3.1, 31 March 2009
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
This GCC Runtime Library Exception ("Exception") is an additional
|
||||
permission under section 7 of the GNU General Public License, version
|
||||
3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
|
||||
bears a notice placed by the copyright holder of the file stating that
|
||||
the file is governed by GPLv3 along with this Exception.
|
||||
|
||||
When you use GCC to compile a program, GCC may combine portions of
|
||||
certain GCC header files and runtime libraries with the compiled
|
||||
program. The purpose of this Exception is to allow compilation of
|
||||
non-GPL (including proprietary) programs to use, in this way, the
|
||||
header files and runtime libraries covered by this Exception.
|
||||
|
||||
0. Definitions.
|
||||
|
||||
A file is an "Independent Module" if it either requires the Runtime
|
||||
Library for execution after a Compilation Process, or makes use of an
|
||||
interface provided by the Runtime Library, but is not otherwise based
|
||||
on the Runtime Library.
|
||||
|
||||
"GCC" means a version of the GNU Compiler Collection, with or without
|
||||
modifications, governed by version 3 (or a specified later version) of
|
||||
the GNU General Public License (GPL) with the option of using any
|
||||
subsequent versions published by the FSF.
|
||||
|
||||
"GPL-compatible Software" is software whose conditions of propagation,
|
||||
modification and use would permit combination with GCC in accord with
|
||||
the license of GCC.
|
||||
|
||||
"Target Code" refers to output from any compiler for a real or virtual
|
||||
target processor architecture, in executable form or suitable for
|
||||
input to an assembler, loader, linker and/or execution
|
||||
phase. Notwithstanding that, Target Code does not include data in any
|
||||
format that is used as a compiler intermediate representation, or used
|
||||
for producing a compiler intermediate representation.
|
||||
|
||||
The "Compilation Process" transforms code entirely represented in
|
||||
non-intermediate languages designed for human-written code, and/or in
|
||||
Java Virtual Machine byte code, into Target Code. Thus, for example,
|
||||
use of source code generators and preprocessors need not be considered
|
||||
part of the Compilation Process, since the Compilation Process can be
|
||||
understood as starting with the output of the generators or
|
||||
preprocessors.
|
||||
|
||||
A Compilation Process is "Eligible" if it is done using GCC, alone or
|
||||
with other GPL-compatible software, or if it is done without using any
|
||||
work based on GCC. For example, using non-GPL-compatible Software to
|
||||
optimize any GCC intermediate representations would not qualify as an
|
||||
Eligible Compilation Process.
|
||||
|
||||
1. Grant of Additional Permission.
|
||||
|
||||
You have permission to propagate a work of Target Code formed by
|
||||
combining the Runtime Library with Independent Modules, even if such
|
||||
propagation would otherwise violate the terms of GPLv3, provided that
|
||||
all Target Code was generated by Eligible Compilation Processes. You
|
||||
may then convey such a combination under terms of your choice,
|
||||
consistent with the licensing of the Independent Modules.
|
||||
|
||||
2. No Weakening of GCC Copyleft.
|
||||
|
||||
The availability of this Exception does not imply any general
|
||||
presumption that third-party software is unaffected by the copyleft
|
||||
requirements of the license of GCC.
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
GCC RUNTIME LIBRARY EXCEPTION
|
||||
|
||||
Version 3.1, 31 March 2009
|
||||
|
||||
Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies of this
|
||||
license document, but changing it is not allowed.
|
||||
|
||||
This GCC Runtime Library Exception ("Exception") is an additional
|
||||
permission under section 7 of the GNU General Public License, version
|
||||
3 ("GPLv3"). It applies to a given file (the "Runtime Library") that
|
||||
bears a notice placed by the copyright holder of the file stating that
|
||||
the file is governed by GPLv3 along with this Exception.
|
||||
|
||||
When you use GCC to compile a program, GCC may combine portions of
|
||||
certain GCC header files and runtime libraries with the compiled
|
||||
program. The purpose of this Exception is to allow compilation of
|
||||
non-GPL (including proprietary) programs to use, in this way, the
|
||||
header files and runtime libraries covered by this Exception.
|
||||
|
||||
0. Definitions.
|
||||
|
||||
A file is an "Independent Module" if it either requires the Runtime
|
||||
Library for execution after a Compilation Process, or makes use of an
|
||||
interface provided by the Runtime Library, but is not otherwise based
|
||||
on the Runtime Library.
|
||||
|
||||
"GCC" means a version of the GNU Compiler Collection, with or without
|
||||
modifications, governed by version 3 (or a specified later version) of
|
||||
the GNU General Public License (GPL) with the option of using any
|
||||
subsequent versions published by the FSF.
|
||||
|
||||
"GPL-compatible Software" is software whose conditions of propagation,
|
||||
modification and use would permit combination with GCC in accord with
|
||||
the license of GCC.
|
||||
|
||||
"Target Code" refers to output from any compiler for a real or virtual
|
||||
target processor architecture, in executable form or suitable for
|
||||
input to an assembler, loader, linker and/or execution
|
||||
phase. Notwithstanding that, Target Code does not include data in any
|
||||
format that is used as a compiler intermediate representation, or used
|
||||
for producing a compiler intermediate representation.
|
||||
|
||||
The "Compilation Process" transforms code entirely represented in
|
||||
non-intermediate languages designed for human-written code, and/or in
|
||||
Java Virtual Machine byte code, into Target Code. Thus, for example,
|
||||
use of source code generators and preprocessors need not be considered
|
||||
part of the Compilation Process, since the Compilation Process can be
|
||||
understood as starting with the output of the generators or
|
||||
preprocessors.
|
||||
|
||||
A Compilation Process is "Eligible" if it is done using GCC, alone or
|
||||
with other GPL-compatible software, or if it is done without using any
|
||||
work based on GCC. For example, using non-GPL-compatible Software to
|
||||
optimize any GCC intermediate representations would not qualify as an
|
||||
Eligible Compilation Process.
|
||||
|
||||
1. Grant of Additional Permission.
|
||||
|
||||
You have permission to propagate a work of Target Code formed by
|
||||
combining the Runtime Library with Independent Modules, even if such
|
||||
propagation would otherwise violate the terms of GPLv3, provided that
|
||||
all Target Code was generated by Eligible Compilation Processes. You
|
||||
may then convey such a combination under terms of your choice,
|
||||
consistent with the licensing of the Independent Modules.
|
||||
|
||||
2. No Weakening of GCC Copyleft.
|
||||
|
||||
The availability of this Exception does not imply any general
|
||||
presumption that third-party software is unaffected by the copyleft
|
||||
requirements of the license of GCC.
|
||||
|
||||
BIN
.CondaPkg/env/share/locale/ca/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/ca/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/cs/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/cs/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/da/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/da/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/de/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/de/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/eo/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/eo/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/es/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/es/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/fi/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/fi/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/fr/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/fr/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/hr/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/hr/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/hu/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/hu/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/it/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/it/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/ko/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/ko/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/pl/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/pl/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/pt/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/pt/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/pt_BR/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/pt_BR/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/ro/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/ro/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/sr/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/sr/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/sv/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/sv/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/tr/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/tr/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/uk/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/uk/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/vi/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/vi/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/zh_CN/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/zh_CN/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
BIN
.CondaPkg/env/share/locale/zh_TW/LC_MESSAGES/xz.mo
vendored
BIN
.CondaPkg/env/share/locale/zh_TW/LC_MESSAGES/xz.mo
vendored
Binary file not shown.
1
.CondaPkg/env/share/man/de/man1/lzcat.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzcat.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzcmp.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzcmp.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzdiff.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzdiff.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzless.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzless.1
vendored
@@ -1 +0,0 @@
|
||||
xzless.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzma.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzmadec.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzmadec.1
vendored
@@ -1 +0,0 @@
|
||||
xzdec.1
|
||||
1
.CondaPkg/env/share/man/de/man1/lzmore.1
vendored
1
.CondaPkg/env/share/man/de/man1/lzmore.1
vendored
@@ -1 +0,0 @@
|
||||
xzmore.1
|
||||
1
.CondaPkg/env/share/man/de/man1/unlzma.1
vendored
1
.CondaPkg/env/share/man/de/man1/unlzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/de/man1/unxz.1
vendored
1
.CondaPkg/env/share/man/de/man1/unxz.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1800
.CondaPkg/env/share/man/de/man1/xz.1
vendored
1800
.CondaPkg/env/share/man/de/man1/xz.1
vendored
File diff suppressed because it is too large
Load Diff
1
.CondaPkg/env/share/man/de/man1/xzcat.1
vendored
1
.CondaPkg/env/share/man/de/man1/xzcat.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/de/man1/xzcmp.1
vendored
1
.CondaPkg/env/share/man/de/man1/xzcmp.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
87
.CondaPkg/env/share/man/de/man1/xzdec.1
vendored
87
.CondaPkg/env/share/man/de/man1/xzdec.1
vendored
@@ -1,87 +0,0 @@
|
||||
.\"
|
||||
.\" Author: Lasse Collin
|
||||
.\"
|
||||
.\" This file has been put into the public domain.
|
||||
.\" You can do whatever you want with this file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZDEC 1 "19. April 2017" Tukaani XZ\-Dienstprogramme
|
||||
.SH BEZEICHNUNG
|
||||
xzdec, lzmadec \- Kleine Dekompressoren für .xz und .lzma
|
||||
.SH ÜBERSICHT
|
||||
\fBxzdec\fP [\fIOption…\fP] [\fIDatei…\fP]
|
||||
.br
|
||||
\fBlzmadec\fP [\fIOption…\fP] [\fIDatei…\fP]
|
||||
.SH BESCHREIBUNG
|
||||
\fBxzdec\fP ist ein auf Liblzma basierendes Nur\-Dekompressionswerkzeug für
|
||||
\&\fB.xz\fP\-Dateien (und \fBnur\fP für \fB.xz\fP\-Dateien). \fBxzdec\fP ist als direkter
|
||||
Ersatz für \fBxz\fP(1) in jenen Situationen konzipiert, wo ein Skript \fBxz \-\-decompress \-\-stdout\fP (und eventuelle einige andere höufig genutzte
|
||||
Optionen) zum Dekomprimieren von \fB.xz\fP\-Dateien. \fBlzmadec\fP ist weitgehend
|
||||
identisch zu \fBxzdec\fP, mit der Ausnahme, dass \fBlzmadec\fP \fB.lzma\fP\-Dateien
|
||||
anstelle von \fB.xz\fP\-Dateien unterstützt.
|
||||
.PP
|
||||
Um die Größe der ausführbaren Datei zu reduzieren, unterstützt \fBxzdec\fP
|
||||
weder Multithreading noch Lokalisierung. Außerdem liest es keine Optionen
|
||||
aus den Umgebungsvariablen \fBXZ_DEFAULTS\fP und \fBXZ_OPT\fP. \fBxzdec\fP
|
||||
unterstützt keine zwischenzeitlichen Fortschrittsinformationen: Das Senden
|
||||
von \fBSIGINFO\fP an \fBxzdec\fP hat keine Auswirkungen, jedoch beendet \fBSIGUSR1\fP
|
||||
den Prozess, anstatt Fortschrittsinformationen anzuzeigen.
|
||||
.SH OPTIONEN
|
||||
.TP
|
||||
\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
|
||||
ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP
|
||||
unterstützt nur Dekompression.
|
||||
.TP
|
||||
\fB\-k\fP, \fB\-\-keep\fP
|
||||
ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP
|
||||
erzeugt oder entfernt niemals Dateien.
|
||||
.TP
|
||||
\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP
|
||||
ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP
|
||||
schreibt die dekomprimierten Daten immer in die Standardausgabe.
|
||||
.TP
|
||||
\fB\-q\fP, \fB\-\-quiet\fP
|
||||
hat bei einmaliger Angabe keine Wirkung, da \fBxzdec\fP niemals Warnungen oder
|
||||
sonstige Meldungen anzeigt. Wenn Sie dies zweimal angeben, werden
|
||||
Fehlermeldungen unterdrückt.
|
||||
.TP
|
||||
\fB\-Q\fP, \fB\-\-no\-warn\fP
|
||||
ist zwecks Kompatibilität zu \fBxz\fP(1) vorhanden; wird ignoriert. \fBxzdec\fP
|
||||
verwendet niemals den Exit\-Status 2.
|
||||
.TP
|
||||
\fB\-h\fP, \fB\-\-help\fP
|
||||
zeigt eine Hilfemeldung an und beendet das Programm erfolgreich.
|
||||
.TP
|
||||
\fB\-V\fP, \fB\-\-version\fP
|
||||
zeigt die Versionsnummer von \fBxzdec\fP und liblzma an.
|
||||
.SH EXIT\-STATUS
|
||||
.TP
|
||||
\fB0\fP
|
||||
Alles ist in Ordnung.
|
||||
.TP
|
||||
\fB1\fP
|
||||
Ein Fehler ist aufgetreten.
|
||||
.PP
|
||||
\fBxzdec\fP gibt keine Warnmeldungen wie \fBxz\fP(1) aus, daher wird der
|
||||
Exit\-Status 2 von \fBxzdec\fP nicht verwendet.
|
||||
.SH ANMERKUNGEN
|
||||
Verwenden Sie \fBxz\fP(1) anstelle von \fBxzdec\fP oder \fBlzmadec\fP im normalen
|
||||
täglichen Gebrauch. \fBxzdec\fP oder \fBlzmadec\fP sind nur für Situationen
|
||||
gedacht, in denen ein kleinerer Dekompressor statt des voll ausgestatteten
|
||||
\fBxz\fP(1) wichtig ist.
|
||||
.PP
|
||||
\fBxzdec\fP und \fBlzmadec\fP sind nicht wirklich extrem klein. Die Größe kann
|
||||
durch Deaktivieren von Funktionen bei der Kompilierung von Liblzma weiter
|
||||
verringert werden, aber das sollte nicht für ausführbare Dateien getan
|
||||
werden, die in typischen Betriebssystemen ausgeliefert werden, außer in den
|
||||
Distributionen für eingebettete Systeme. Wenn Sie einen wirklich winzigen
|
||||
Dekompressor für \fB.xz\fP\-Dateien brauchen, sollten Sie stattdessen XZ
|
||||
Embedded in Erwägung ziehen.
|
||||
.SH "SIEHE AUCH"
|
||||
\fBxz\fP(1)
|
||||
.PP
|
||||
XZ Embedded: <https://tukaani.org/xz/embedded.html>
|
||||
43
.CondaPkg/env/share/man/de/man1/xzdiff.1
vendored
43
.CondaPkg/env/share/man/de/man1/xzdiff.1
vendored
@@ -1,43 +0,0 @@
|
||||
.\"
|
||||
.\" Original zdiff.1 for gzip: Jean-loup Gailly
|
||||
.\"
|
||||
.\" Modifications for XZ Utils: Lasse Collin
|
||||
.\" Andrew Dudman
|
||||
.\"
|
||||
.\" License: GNU GPLv2+
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZDIFF 1 2021\-06\-04 Tukaani XZ\-Dienstprogramme
|
||||
.SH BEZEICHNUNG
|
||||
xzcmp, xzdiff, lzcmp, lzdiff \- komprimierte Dateien vergleichen
|
||||
.SH ÜBERSICHT
|
||||
\fBxzcmp\fP [\fIcmp\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP]
|
||||
.br
|
||||
\fBxzdiff\fP [\fIdiff\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP]
|
||||
.br
|
||||
\fBlzcmp\fP [\fIcmp\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP]
|
||||
.br
|
||||
\fBlzdiff\fP [\fIdiff\-Optionen\fP] \fIDatei1\fP [\fIDatei2\fP]
|
||||
.SH BESCHREIBUNG
|
||||
\fBxzcmp\fP and \fBxzdiff\fP invoke \fBcmp\fP(1) or \fBdiff\fP(1) on files compressed
|
||||
with \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), or
|
||||
\fBzstd\fP(1). All options specified are passed directly to \fBcmp\fP(1) or
|
||||
\fBdiff\fP(1). If only one file is specified, then the files compared are
|
||||
\fIfile1\fP (which must have a suffix of a supported compression format) and
|
||||
\fIfile1\fP from which the compression format suffix has been stripped. If two
|
||||
files are specified, then they are uncompressed if necessary and fed to
|
||||
\fBcmp\fP(1) or \fBdiff\fP(1). The exit status from \fBcmp\fP(1) or \fBdiff\fP(1) is
|
||||
preserved unless a decompression error occurs; then exit status is 2.
|
||||
.PP
|
||||
Die Namen \fBlzcmp\fP und \fBlzdiff\fP dienen der Abwärtskompatibilität zu den
|
||||
LZMA\-Dienstprogrammen.
|
||||
.SH "SIEHE AUCH"
|
||||
\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1),
|
||||
\fBzstd\fP(1), \fBzdiff\fP(1)
|
||||
.SH FEHLER
|
||||
Die Meldungen der Programme \fBcmp\fP(1) oder \fBdiff\fP(1) können auf temporäre
|
||||
Dateinamen verweisen anstatt auf die tatsächlich angegebenen Dateinamen.
|
||||
47
.CondaPkg/env/share/man/de/man1/xzless.1
vendored
47
.CondaPkg/env/share/man/de/man1/xzless.1
vendored
@@ -1,47 +0,0 @@
|
||||
.\"
|
||||
.\" Authors: Andrew Dudman
|
||||
.\" Lasse Collin
|
||||
.\"
|
||||
.\" This file has been put into the public domain.
|
||||
.\" You can do whatever you want with this file.
|
||||
.\"
|
||||
.\" (Note that this file is not based on gzip's zless.1.)
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZLESS 1 "27. September 2010" Tukaani XZ\-Dienstprogramme
|
||||
.SH BEZEICHNUNG
|
||||
xzless, lzless \- mit xz oder lzma komprimierte (Text\-)Dateien betrachten
|
||||
.SH ÜBERSICHT
|
||||
\fBxzless\fP [\fIDatei\fP …]
|
||||
.br
|
||||
\fBlzless\fP [\fIDatei\fP …]
|
||||
.SH BESCHREIBUNG
|
||||
\fBxzless\fP ist ein Filter, der Text aus komprimierten Dateien in einem
|
||||
Terminal anzeigt. Es funktioniert mit Dateien, die mit \fBxz\fP(1) oder
|
||||
\fBlzma\fP(1) komprimiert sind. Falls keine \fIfiles\fP angegeben sind, liest
|
||||
\fBxzless\fP aus der Standardeingabe.
|
||||
.PP
|
||||
\fBxzless\fP verwendet \fBless\fP(1) zur Darstellung der Ausgabe. Im Gegensatz zu
|
||||
\fBxzmore\fP können Sie das zu verwendende Textanzeigeprogramm nicht durch
|
||||
Setzen einer Umgebungsvariable ändern. Die Befehle basieren auf \fBmore\fP(1)
|
||||
und \fBvi\fP(1) und ermöglichen Vorwärts\- und Rückwärtssprünge sowie
|
||||
Suchvorgänge. In der Handbuchseite zu \fBless\fP(1) finden Sie weiter
|
||||
Information.
|
||||
.PP
|
||||
Der Befehl \fBlzless\fP dient der Abwärtskompatibilität zu den
|
||||
LZMA\-Dienstprogrammen.
|
||||
.SH UMGEBUNGSVARIABLEN
|
||||
.TP
|
||||
\fBLESSMETACHARS\fP
|
||||
Dies enthält eine Zeichenliste mit Bezug zur Shell. Wenn diese Variable
|
||||
nicht bereits gesetzt ist, wird sie durch \fBxzless\fP gesetzt.
|
||||
.TP
|
||||
\fBLESSOPEN\fP
|
||||
Dies ist auf die Befehlszeile zum Aufruf von \fBxz\fP(1) gesetzt, die zur
|
||||
Vorverarbeitung der Eingabedateien für \fBless\fP(1) nötig ist.
|
||||
.SH "SIEHE AUCH"
|
||||
\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1)
|
||||
40
.CondaPkg/env/share/man/de/man1/xzmore.1
vendored
40
.CondaPkg/env/share/man/de/man1/xzmore.1
vendored
@@ -1,40 +0,0 @@
|
||||
.\"
|
||||
.\" Original zdiff.1 for gzip: Jean-loup Gailly
|
||||
.\" Modifications for XZ Utils: Lasse Collin
|
||||
.\"
|
||||
.\" License: GNU GPLv2+
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZMORE 1 "30. Juni 2013" Tukaani XZ\-Dienstprogramme
|
||||
.SH BEZEICHNUNG
|
||||
xzmore, lzmore \- mit xz oder lzma komprimierte (Text\-)Dateien lesen
|
||||
.SH ÜBERSICHT
|
||||
\fBxzmore\fP [\fIDatei …\fP]
|
||||
.br
|
||||
\fBlzmore\fP [\fIDatei …\fP]
|
||||
.SH BESCHREIBUNG
|
||||
\fBxzmore\fP ist ein Filter zur seitenweisen Anzeige von Textdateien in einem
|
||||
Terminal, die mit \fBxz\fP(1) oder \fBlzma\fP(1) komprimiert wurden.
|
||||
.PP
|
||||
Um ein anderes Textanzeigeprogramm als den voreingestellten \fBmore\fP zu
|
||||
verwenden, setzen Sie die Umgebungsvariable \fBPAGER\fP auf das gewünschte
|
||||
Programm. Der Name \fBlzmore\fP dient der Abwärtskompatibilität zu den
|
||||
LZMA\-Dienstprogrammen.
|
||||
.TP
|
||||
\fBe\fP oder \fBq\fP
|
||||
Wenn die Zeile \-\-Mehr\-\-(Nächste Datei: \fIDatei\fP) angezeigt wird, wird
|
||||
\fBxzmore\fP mit diesem Befehl beendet.
|
||||
.TP
|
||||
\fBs\fP
|
||||
Wenn die Zeile \-\-Mehr\-\-(Nächste Datei: \fIDatei\fP) angezeigt wird, springt
|
||||
\fBxzmore\fP zur nächsten Datei und zeigt diese an.
|
||||
.PP
|
||||
Eine Liste der bei der Betrachtung von Dateiinhalten verfügbaren
|
||||
Tastaturbefehle finden Sie in der Handbuchseite des verwendeten
|
||||
Textanzeigeprogramms, meist \fBmore\fP(1).
|
||||
.SH "SIEHE AUCH"
|
||||
\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1)
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzcat.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzcat.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzcmp.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzcmp.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzdiff.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzdiff.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzless.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzless.1
vendored
@@ -1 +0,0 @@
|
||||
xzless.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzma.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzmadec.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzmadec.1
vendored
@@ -1 +0,0 @@
|
||||
xzdec.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/lzmore.1
vendored
1
.CondaPkg/env/share/man/fr/man1/lzmore.1
vendored
@@ -1 +0,0 @@
|
||||
xzmore.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/unlzma.1
vendored
1
.CondaPkg/env/share/man/fr/man1/unlzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/unxz.1
vendored
1
.CondaPkg/env/share/man/fr/man1/unxz.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1799
.CondaPkg/env/share/man/fr/man1/xz.1
vendored
1799
.CondaPkg/env/share/man/fr/man1/xz.1
vendored
File diff suppressed because it is too large
Load Diff
1
.CondaPkg/env/share/man/fr/man1/xzcat.1
vendored
1
.CondaPkg/env/share/man/fr/man1/xzcat.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/fr/man1/xzcmp.1
vendored
1
.CondaPkg/env/share/man/fr/man1/xzcmp.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
87
.CondaPkg/env/share/man/fr/man1/xzdec.1
vendored
87
.CondaPkg/env/share/man/fr/man1/xzdec.1
vendored
@@ -1,87 +0,0 @@
|
||||
.\"
|
||||
.\" Author: Lasse Collin
|
||||
.\"
|
||||
.\" This file has been put into the public domain.
|
||||
.\" You can do whatever you want with this file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZDEC 1 19\-04\-2017 Tukaani "Utilitaires XZ"
|
||||
.SH NOM
|
||||
xzdec, lzmadec \- Small .xz et .lzma decompresseurs
|
||||
.SH SYNOPSIS
|
||||
\fBxzdec\fP [\fIoption...\fP] [\fIfichier...\fP]
|
||||
.br
|
||||
\fBlzmadec\fP [\fIoption...\fP] [\fIfichier...\fP]
|
||||
.SH DESCRIPTION
|
||||
\fBxzdec\fP est un outil uniquement de décompression, basé sur liblzma pour les
|
||||
fichiers \fB.xz\fP (et seulement \fB.xz\fP). \fBxzdec\fP est destiné à remplacer
|
||||
\fBxz\fP(1) dans les situations les plus courantes où un script a été écrit
|
||||
pour utiliser \fBxz \-\-decompress \-\-stdout\fP (et possiblement quelques autres
|
||||
options courantes) pour décompresser des fichiers \fB.xz\fP. \fBlzmadec\fP est
|
||||
identique à \fBxzdec\fP, sauf que \fBlzmadec\fP prend en charge les fichiers
|
||||
\&\fB.lzma\fP au lieu des fichiers \fB.xz\fP.
|
||||
.PP
|
||||
Pour réduire la taille de l'exécutable, \fBxzdec\fP ne prend en charge ni le
|
||||
multithreading ni la localisation et ne lit pas les options des variables
|
||||
d'environnement \fBXZ_DEFAULTS\fP et \fBXZ_OPT\fP. \fBxzdec\fP ne gère pas
|
||||
l'affichage d'information sur la progression du traitement\ : envoyer
|
||||
\fBSIGINFO\fP à \fBxzdec\fP ne fait rien, mais envoyer \fBSIGUSR1\fP termine le
|
||||
processus au lieu d'afficher de l'information sur la progression.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
\fB\-d\fP, \fB\-\-decompress\fP, \fB\-\-uncompress\fP
|
||||
Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP ne gère que la
|
||||
décompression.
|
||||
.TP
|
||||
\fB\-k\fP, \fB\-\-keep\fP
|
||||
Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP ne crée ni ne supprime
|
||||
jamais aucun fichier.
|
||||
.TP
|
||||
\fB\-c\fP, \fB\-\-stdout\fP, \fB\-\-to\-stdout\fP
|
||||
Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP écrit toujours les
|
||||
données décompressées sur la sortie standard.
|
||||
.TP
|
||||
\fB\-q\fP, \fB\-\-quiet\fP
|
||||
Spécifier cela une fois ne fait rien, car \fBxzdec\fP n'affiche jamais aucun
|
||||
avertissement ou notification. Spécifier cela deux fois pour supprimer les
|
||||
erreurs.
|
||||
.TP
|
||||
\fB\-Q\fP, \fB\-\-no\-warn\fP
|
||||
Ignoré pour la compatibilité avec \fBxz\fP(1), \fBxzdec\fP n'utilise jamais le
|
||||
satut de sortie\ 2.
|
||||
.TP
|
||||
\fB\-h\fP, \fB\-\-help\fP
|
||||
Afficher un message d'aide et quitter.
|
||||
.TP
|
||||
\fB\-V\fP, \fB\-\-version\fP
|
||||
Afficher le numéro de version de \fBxzdec\fP et liblzma.
|
||||
.SH "STATUT DE SORTIE"
|
||||
.TP
|
||||
\fB0\fP
|
||||
Tout s'est bien passé.
|
||||
.TP
|
||||
\fB1\fP
|
||||
Une erreur est survenue.
|
||||
.PP
|
||||
A la différence de \fBxz\fP(1),\fBxzdec\fP n'a pas de messages d'avertissement, et
|
||||
donc le statut de sortie\ 2 n'est pas utilisé par \fBxzdec\fP.
|
||||
.SH NOTES
|
||||
Utilisez \fBxz\fP(1) au lieu de \fBxzdec\fP ou \fBlzmadec\fP pour un usage normal de
|
||||
tous les jours. \fBxzdec\fP ou \fBlzmadec\fP ne sont utiles que pour les
|
||||
situations où il est important d'avoir un plus petit décompresseur que le
|
||||
\fBxz\fP(1) complet.
|
||||
.PP
|
||||
\fBxzdec\fP et \fBlzmadec\fP ne sont en fait pas vraiment si petits. La taille
|
||||
peut être encore réduite en abandonnant des fonctionnalités de liblzma au
|
||||
moment de la compilation, mais cela ne devrait pas être fait pour des
|
||||
exécutables distribués sur des systèmes d'exploitation classique non
|
||||
embarqués. Si vous avez besoin d'un décompresseur vraiment petit, pensez à
|
||||
utiliser XZ\ Embedded.
|
||||
.SH "VOIR AUSSI"
|
||||
\fBxz\fP(1)
|
||||
.PP
|
||||
XZ Embarqué: <https://tukaani.org/xz/embedded.html>
|
||||
43
.CondaPkg/env/share/man/fr/man1/xzdiff.1
vendored
43
.CondaPkg/env/share/man/fr/man1/xzdiff.1
vendored
@@ -1,43 +0,0 @@
|
||||
.\"
|
||||
.\" Original zdiff.1 for gzip: Jean-loup Gailly
|
||||
.\"
|
||||
.\" Modifications for XZ Utils: Lasse Collin
|
||||
.\" Andrew Dudman
|
||||
.\"
|
||||
.\" License: GNU GPLv2+
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZDIFF 1 2021\-06\-04 Tukaani "Utilitaires XZ"
|
||||
.SH NOM
|
||||
xzcmp, xzdiff, lzcmp, lzdiff \- Comparer des fichiers compressés.
|
||||
.SH SYNOPSIS
|
||||
\fBxzcmp\fP [\fIcmp_options\fP] \fIfichier1\fP [\fIfichier2\fP]
|
||||
.br
|
||||
\fBxzdiff\fP [\fIdiff_options\fP] \fIfichier1\fP [\fIfichier2\fP]
|
||||
.br
|
||||
\fBlzcmp\fP [\fIcmp_options\fP] \fIfichier1\fP [\fIfichier2\fP]
|
||||
.br
|
||||
\fBlzdiff\fP [\fIdiff_options\fP] \fIfichier1\fP [\fIfichier2\fP]
|
||||
.SH DESCRIPTION
|
||||
\fBxzcmp\fP and \fBxzdiff\fP invoke \fBcmp\fP(1) or \fBdiff\fP(1) on files compressed
|
||||
with \fBxz\fP(1), \fBlzma\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1), or
|
||||
\fBzstd\fP(1). All options specified are passed directly to \fBcmp\fP(1) or
|
||||
\fBdiff\fP(1). If only one file is specified, then the files compared are
|
||||
\fIfile1\fP (which must have a suffix of a supported compression format) and
|
||||
\fIfile1\fP from which the compression format suffix has been stripped. If two
|
||||
files are specified, then they are uncompressed if necessary and fed to
|
||||
\fBcmp\fP(1) or \fBdiff\fP(1). The exit status from \fBcmp\fP(1) or \fBdiff\fP(1) is
|
||||
preserved unless a decompression error occurs; then exit status is 2.
|
||||
.PP
|
||||
Les noms \fBlzcmp\fP et \fBlzdiff\fP sont fournis pour des besoins de
|
||||
rétrocompatibilité avec les Utilitaires LZMA.
|
||||
.SH "VOIR AUSSI"
|
||||
\fBcmp\fP(1), \fBdiff\fP(1), \fBxz\fP(1), \fBgzip\fP(1), \fBbzip2\fP(1), \fBlzop\fP(1),
|
||||
\fBzstd\fP(1), \fBzdiff\fP(1)
|
||||
.SH BOGUES
|
||||
Les messages des programmes \fBcmp\fP(1) ou \fBdiff\fP(1) se réfèrent à des noms
|
||||
de fichiers temporaires et non à ceux spécifiés.
|
||||
46
.CondaPkg/env/share/man/fr/man1/xzless.1
vendored
46
.CondaPkg/env/share/man/fr/man1/xzless.1
vendored
@@ -1,46 +0,0 @@
|
||||
.\"
|
||||
.\" Authors: Andrew Dudman
|
||||
.\" Lasse Collin
|
||||
.\"
|
||||
.\" This file has been put into the public domain.
|
||||
.\" You can do whatever you want with this file.
|
||||
.\"
|
||||
.\" (Note that this file is not based on gzip's zless.1.)
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZLESS 1 27\-09\-2010 Tukaani "Utilitaires XZ"
|
||||
.SH NOM
|
||||
xzless, lzless \- Voir le contenu des fichiers (texte) compressés xz ou lzma
|
||||
.SH SYNOPSIS
|
||||
\fBxzless\fP [\fIfichier\fP...]
|
||||
.br
|
||||
\fBlzless\fP [\fIfichier\fP...]
|
||||
.SH DESCRIPTION
|
||||
\fBxzless\fP est un filtre qui affiche le contenu de fichiers compressés dans
|
||||
un terminal. Cela fonctionne avec les fichiers compressés avec \fBxz\fP(1) ou
|
||||
\fBlzma\fP(1). Si aucun \fIfichier\fP n'est donné, \fBxzless\fP lit depuis l'entrée
|
||||
standard.
|
||||
.PP
|
||||
\fBxzless\fP utilise \fBless\fP(1) pour afficher sa sortie. Contrairement à
|
||||
\fBxzmore\fP, son choix d'afficheur ne peut pas être modifié en indiquant une
|
||||
variable d'environnement. Les commandes sont basées sur \fBmore\fP(1) et
|
||||
\fBvi\fP(1) et permettent des déplacements en avant et en arrière et des
|
||||
recherches. Voir le manuel de \fBless\fP(1) pour plus d'information.
|
||||
.PP
|
||||
La commande nommée \fBlzless\fP est fournie pour la rétrocompatibilité avec les
|
||||
utilitaires LZMA.
|
||||
.SH ENVIRONNEMENT
|
||||
.TP
|
||||
\fBLESSMETACHARS\fP
|
||||
Une liste de caractères spéciaux pour l'interpréteur. Définis par \fBxzless\fP
|
||||
à moins qu'ils ne l'aient déjà été dans l'environnement.
|
||||
.TP
|
||||
\fBLESSOPEN\fP
|
||||
Définir en ligne de commande le décompresseur \fBxz\fP(1) à invoquer pour
|
||||
préparer les fichiers en entrée pour \fBless\fP(1).
|
||||
.SH "VOIR AUSSI"
|
||||
\fBless\fP(1), \fBxz\fP(1), \fBxzmore\fP(1), \fBzless\fP(1)
|
||||
41
.CondaPkg/env/share/man/fr/man1/xzmore.1
vendored
41
.CondaPkg/env/share/man/fr/man1/xzmore.1
vendored
@@ -1,41 +0,0 @@
|
||||
.\"
|
||||
.\" Original zdiff.1 for gzip: Jean-loup Gailly
|
||||
.\" Modifications for XZ Utils: Lasse Collin
|
||||
.\"
|
||||
.\" License: GNU GPLv2+
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.\"
|
||||
.\" This file was generated with po4a. Translate the source file.
|
||||
.\"
|
||||
.\"*******************************************************************
|
||||
.TH XZMORE 1 30\-06\-2013 Tukaani "Utilitaires XZ"
|
||||
.SH NOM
|
||||
xzmore, lzmore \- Voir le contenu des fichiers (texte) compressés xz ou lzma
|
||||
.SH SYNOPSIS
|
||||
\fBxzmore\fP [\fIfichier...\fP]
|
||||
.br
|
||||
\fBlzmore\fP [\fIfichier...\fP]
|
||||
.SH DESCRIPTION
|
||||
\fBxzmore\fP est un filtre qui permet d'examiner le contenu des fichiers texte
|
||||
compressés \fBxz\fP(1) ou \fBlzma\fP(1), une page d'écran à la fois, sur un
|
||||
terminal écran.
|
||||
.PP
|
||||
Pour utiliser un afficheur autre que \fBmore\fP, l'afficheur par défaut,
|
||||
définissez la variable d'environnement \fBPAGER\fP avec le nom du programme
|
||||
souhaité. Le nom \fBlzmore\fP est fourni pour la rétrocompatibilité avec les
|
||||
utilitaires LZMA.
|
||||
.TP
|
||||
\fBe\fP ou \fBq\fP
|
||||
Lorsque l'invite \-\-More\-\-(prochain fichier\ : \fIfichier\fP) est affiché, cette
|
||||
commande force \fBxzmore\fP à quitter.
|
||||
.TP
|
||||
\fBs\fP
|
||||
Lorsque l'invite \-\-More\-\-(prochain fichier\ : \fIfichier\fP) est affiché, cette
|
||||
commande force \fBxzmore\fP à ignorer le prochain fichier et continuer.
|
||||
.PP
|
||||
Pour une liste des commandes clavier prises en charge lors de la lecture du
|
||||
contenu d'un fichier, référez vous au manuel de l'afficheur (pager) que vous
|
||||
utilisez, habituellement \fBmore\fP(1).
|
||||
.SH "VOIR AUSSI"
|
||||
\fBmore\fP(1), \fBxz\fP(1), \fBxzless\fP(1), \fBzmore\fP(1)
|
||||
1
.CondaPkg/env/share/man/man1/lzcat.1
vendored
1
.CondaPkg/env/share/man/man1/lzcat.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/man1/lzcmp.1
vendored
1
.CondaPkg/env/share/man/man1/lzcmp.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/man1/lzdiff.1
vendored
1
.CondaPkg/env/share/man/man1/lzdiff.1
vendored
@@ -1 +0,0 @@
|
||||
xzdiff.1
|
||||
1
.CondaPkg/env/share/man/man1/lzegrep.1
vendored
1
.CondaPkg/env/share/man/man1/lzegrep.1
vendored
@@ -1 +0,0 @@
|
||||
xzgrep.1
|
||||
1
.CondaPkg/env/share/man/man1/lzfgrep.1
vendored
1
.CondaPkg/env/share/man/man1/lzfgrep.1
vendored
@@ -1 +0,0 @@
|
||||
xzgrep.1
|
||||
1
.CondaPkg/env/share/man/man1/lzgrep.1
vendored
1
.CondaPkg/env/share/man/man1/lzgrep.1
vendored
@@ -1 +0,0 @@
|
||||
xzgrep.1
|
||||
1
.CondaPkg/env/share/man/man1/lzless.1
vendored
1
.CondaPkg/env/share/man/man1/lzless.1
vendored
@@ -1 +0,0 @@
|
||||
xzless.1
|
||||
1
.CondaPkg/env/share/man/man1/lzma.1
vendored
1
.CondaPkg/env/share/man/man1/lzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
1
.CondaPkg/env/share/man/man1/lzmadec.1
vendored
1
.CondaPkg/env/share/man/man1/lzmadec.1
vendored
@@ -1 +0,0 @@
|
||||
xzdec.1
|
||||
60
.CondaPkg/env/share/man/man1/lzmainfo.1
vendored
60
.CondaPkg/env/share/man/man1/lzmainfo.1
vendored
@@ -1,60 +0,0 @@
|
||||
.\"
|
||||
.\" Author: Lasse Collin
|
||||
.\"
|
||||
.\" This file has been put into the public domain.
|
||||
.\" You can do whatever you want with this file.
|
||||
.\"
|
||||
.TH LZMAINFO 1 "2013-06-30" "Tukaani" "XZ Utils"
|
||||
.SH NAME
|
||||
lzmainfo \- show information stored in the .lzma file header
|
||||
.SH SYNOPSIS
|
||||
.B lzmainfo
|
||||
.RB [ \-\-help ]
|
||||
.RB [ \-\-version ]
|
||||
.RI [ file... ]
|
||||
.SH DESCRIPTION
|
||||
.B lzmainfo
|
||||
shows information stored in the
|
||||
.B .lzma
|
||||
file header.
|
||||
It reads the first 13 bytes from the specified
|
||||
.IR file ,
|
||||
decodes the header, and prints it to standard output in human
|
||||
readable format.
|
||||
If no
|
||||
.I files
|
||||
are given or
|
||||
.I file
|
||||
is
|
||||
.BR \- ,
|
||||
standard input is read.
|
||||
.PP
|
||||
Usually the most interesting information is
|
||||
the uncompressed size and the dictionary size.
|
||||
Uncompressed size can be shown only if
|
||||
the file is in the non-streamed
|
||||
.B .lzma
|
||||
format variant.
|
||||
The amount of memory required to decompress the file is
|
||||
a few dozen kilobytes plus the dictionary size.
|
||||
.PP
|
||||
.B lzmainfo
|
||||
is included in XZ Utils primarily for
|
||||
backward compatibility with LZMA Utils.
|
||||
.SH "EXIT STATUS"
|
||||
.TP
|
||||
.B 0
|
||||
All is good.
|
||||
.TP
|
||||
.B 1
|
||||
An error occurred.
|
||||
.SH BUGS
|
||||
.B lzmainfo
|
||||
uses
|
||||
.B MB
|
||||
while the correct suffix would be
|
||||
.B MiB
|
||||
(2^20 bytes).
|
||||
This is to keep the output compatible with LZMA Utils.
|
||||
.SH "SEE ALSO"
|
||||
.BR xz (1)
|
||||
1
.CondaPkg/env/share/man/man1/lzmore.1
vendored
1
.CondaPkg/env/share/man/man1/lzmore.1
vendored
@@ -1 +0,0 @@
|
||||
xzmore.1
|
||||
1
.CondaPkg/env/share/man/man1/python3.1
vendored
1
.CondaPkg/env/share/man/man1/python3.1
vendored
@@ -1 +0,0 @@
|
||||
python3.11.1
|
||||
632
.CondaPkg/env/share/man/man1/python3.11.1
vendored
632
.CondaPkg/env/share/man/man1/python3.11.1
vendored
@@ -1,632 +0,0 @@
|
||||
.TH PYTHON "1"
|
||||
|
||||
.\" To view this file while editing, run it through groff:
|
||||
.\" groff -Tascii -man python.man | less
|
||||
|
||||
.SH NAME
|
||||
python \- an interpreted, interactive, object-oriented programming language
|
||||
.SH SYNOPSIS
|
||||
.B python
|
||||
[
|
||||
.B \-B
|
||||
]
|
||||
[
|
||||
.B \-b
|
||||
]
|
||||
[
|
||||
.B \-d
|
||||
]
|
||||
[
|
||||
.B \-E
|
||||
]
|
||||
[
|
||||
.B \-h
|
||||
]
|
||||
[
|
||||
.B \-i
|
||||
]
|
||||
[
|
||||
.B \-I
|
||||
]
|
||||
.br
|
||||
[
|
||||
.B \-m
|
||||
.I module-name
|
||||
]
|
||||
[
|
||||
.B \-q
|
||||
]
|
||||
[
|
||||
.B \-O
|
||||
]
|
||||
[
|
||||
.B \-OO
|
||||
]
|
||||
[
|
||||
.B \-P
|
||||
]
|
||||
[
|
||||
.B \-s
|
||||
]
|
||||
[
|
||||
.B \-S
|
||||
]
|
||||
[
|
||||
.B \-u
|
||||
]
|
||||
.br
|
||||
[
|
||||
.B \-v
|
||||
]
|
||||
[
|
||||
.B \-V
|
||||
]
|
||||
[
|
||||
.B \-W
|
||||
.I argument
|
||||
]
|
||||
[
|
||||
.B \-x
|
||||
]
|
||||
[
|
||||
.B \-X
|
||||
.I option
|
||||
]
|
||||
[
|
||||
.B \-?
|
||||
]
|
||||
.br
|
||||
[
|
||||
.B \--check-hash-based-pycs
|
||||
.I default
|
||||
|
|
||||
.I always
|
||||
|
|
||||
.I never
|
||||
]
|
||||
.br
|
||||
[
|
||||
.B \--help
|
||||
]
|
||||
[
|
||||
.B \--help-env
|
||||
]
|
||||
[
|
||||
.B \--help-xoptions
|
||||
]
|
||||
[
|
||||
.B \--help-all
|
||||
]
|
||||
.br
|
||||
[
|
||||
.B \-c
|
||||
.I command
|
||||
|
|
||||
.I script
|
||||
|
|
||||
\-
|
||||
]
|
||||
[
|
||||
.I arguments
|
||||
]
|
||||
.SH DESCRIPTION
|
||||
Python is an interpreted, interactive, object-oriented programming
|
||||
language that combines remarkable power with very clear syntax.
|
||||
For an introduction to programming in Python, see the Python Tutorial.
|
||||
The Python Library Reference documents built-in and standard types,
|
||||
constants, functions and modules.
|
||||
Finally, the Python Reference Manual describes the syntax and
|
||||
semantics of the core language in (perhaps too) much detail.
|
||||
(These documents may be located via the
|
||||
.B "INTERNET RESOURCES"
|
||||
below; they may be installed on your system as well.)
|
||||
.PP
|
||||
Python's basic power can be extended with your own modules written in
|
||||
C or C++.
|
||||
On most systems such modules may be dynamically loaded.
|
||||
Python is also adaptable as an extension language for existing
|
||||
applications.
|
||||
See the internal documentation for hints.
|
||||
.PP
|
||||
Documentation for installed Python modules and packages can be
|
||||
viewed by running the
|
||||
.B pydoc
|
||||
program.
|
||||
.SH COMMAND LINE OPTIONS
|
||||
.TP
|
||||
.B \-B
|
||||
Don't write
|
||||
.I .pyc
|
||||
files on import. See also PYTHONDONTWRITEBYTECODE.
|
||||
.TP
|
||||
.B \-b
|
||||
Issue warnings about str(bytes_instance), str(bytearray_instance)
|
||||
and comparing bytes/bytearray with str. (-bb: issue errors)
|
||||
.TP
|
||||
.BI "\-c " command
|
||||
Specify the command to execute (see next section).
|
||||
This terminates the option list (following options are passed as
|
||||
arguments to the command).
|
||||
.TP
|
||||
.BI "\-\-check-hash-based-pycs " mode
|
||||
Configure how Python evaluates the up-to-dateness of hash-based .pyc files.
|
||||
.TP
|
||||
.B \-d
|
||||
Turn on parser debugging output (for expert only, depending on
|
||||
compilation options).
|
||||
.TP
|
||||
.B \-E
|
||||
Ignore environment variables like PYTHONPATH and PYTHONHOME that modify
|
||||
the behavior of the interpreter.
|
||||
.TP
|
||||
.B \-h ", " \-? ", "\-\-help
|
||||
Prints the usage for the interpreter executable and exits.
|
||||
.TP
|
||||
.B "\-\-help\-env"
|
||||
Prints help about Python-specific environment variables and exits.
|
||||
.TP
|
||||
.B "\-\-help\-xoptions"
|
||||
Prints help about implementation-specific \fB\-X\fP options and exits.
|
||||
.TP
|
||||
.TP
|
||||
.B "\-\-help\-all"
|
||||
Prints complete usage information and exits.
|
||||
.TP
|
||||
.B \-i
|
||||
When a script is passed as first argument or the \fB\-c\fP option is
|
||||
used, enter interactive mode after executing the script or the
|
||||
command. It does not read the $PYTHONSTARTUP file. This can be
|
||||
useful to inspect global variables or a stack trace when a script
|
||||
raises an exception.
|
||||
.TP
|
||||
.B \-I
|
||||
Run Python in isolated mode. This also implies \fB\-E\fP, \fB\-P\fP and \fB\-s\fP. In
|
||||
isolated mode sys.path contains neither the script's directory nor the user's
|
||||
site-packages directory. All PYTHON* environment variables are ignored, too.
|
||||
Further restrictions may be imposed to prevent the user from injecting
|
||||
malicious code.
|
||||
.TP
|
||||
.BI "\-m " module-name
|
||||
Searches
|
||||
.I sys.path
|
||||
for the named module and runs the corresponding
|
||||
.I .py
|
||||
file as a script. This terminates the option list (following options
|
||||
are passed as arguments to the module).
|
||||
.TP
|
||||
.B \-O
|
||||
Remove assert statements and any code conditional on the value of
|
||||
__debug__; augment the filename for compiled (bytecode) files by
|
||||
adding .opt-1 before the .pyc extension.
|
||||
.TP
|
||||
.B \-OO
|
||||
Do \fB-O\fP and also discard docstrings; change the filename for
|
||||
compiled (bytecode) files by adding .opt-2 before the .pyc extension.
|
||||
.TP
|
||||
.B \-P
|
||||
Don't automatically prepend a potentially unsafe path to \fBsys.path\fP such
|
||||
as the current directory, the script's directory or an empty string. See also the
|
||||
\fBPYTHONSAFEPATH\fP environment variable.
|
||||
.TP
|
||||
.B \-q
|
||||
Do not print the version and copyright messages. These messages are
|
||||
also suppressed in non-interactive mode.
|
||||
.TP
|
||||
.B \-s
|
||||
Don't add user site directory to sys.path.
|
||||
.TP
|
||||
.B \-S
|
||||
Disable the import of the module
|
||||
.I site
|
||||
and the site-dependent manipulations of
|
||||
.I sys.path
|
||||
that it entails. Also disable these manipulations if
|
||||
.I site
|
||||
is explicitly imported later.
|
||||
.TP
|
||||
.B \-u
|
||||
Force the stdout and stderr streams to be unbuffered.
|
||||
This option has no effect on the stdin stream.
|
||||
.TP
|
||||
.B \-v
|
||||
Print a message each time a module is initialized, showing the place
|
||||
(filename or built-in module) from which it is loaded. When given
|
||||
twice, print a message for each file that is checked for when
|
||||
searching for a module. Also provides information on module cleanup
|
||||
at exit.
|
||||
.TP
|
||||
.B \-V ", " \-\-version
|
||||
Prints the Python version number of the executable and exits. When given
|
||||
twice, print more information about the build.
|
||||
|
||||
.TP
|
||||
.BI "\-W " argument
|
||||
Warning control. Python's warning machinery by default prints warning messages
|
||||
to
|
||||
.IR sys.stderr .
|
||||
|
||||
The simplest settings apply a particular action unconditionally to all warnings
|
||||
emitted by a process (even those that are otherwise ignored by default):
|
||||
|
||||
-Wdefault # Warn once per call location
|
||||
-Werror # Convert to exceptions
|
||||
-Walways # Warn every time
|
||||
-Wmodule # Warn once per calling module
|
||||
-Wonce # Warn once per Python process
|
||||
-Wignore # Never warn
|
||||
|
||||
The action names can be abbreviated as desired and the interpreter will resolve
|
||||
them to the appropriate action name. For example,
|
||||
.B -Wi
|
||||
is the same as
|
||||
.B -Wignore .
|
||||
|
||||
The full form of argument is:
|
||||
.IB action:message:category:module:lineno
|
||||
|
||||
Empty fields match all values; trailing empty fields may be omitted. For
|
||||
example
|
||||
.B -W ignore::DeprecationWarning
|
||||
ignores all DeprecationWarning warnings.
|
||||
|
||||
The
|
||||
.I action
|
||||
field is as explained above but only applies to warnings that match
|
||||
the remaining fields.
|
||||
|
||||
The
|
||||
.I message
|
||||
field must match the whole printed warning message; this match is
|
||||
case-insensitive.
|
||||
|
||||
The
|
||||
.I category
|
||||
field matches the warning category (ex: "DeprecationWarning"). This must be a
|
||||
class name; the match test whether the actual warning category of the message
|
||||
is a subclass of the specified warning category.
|
||||
|
||||
The
|
||||
.I module
|
||||
field matches the (fully-qualified) module name; this match is case-sensitive.
|
||||
|
||||
The
|
||||
.I lineno
|
||||
field matches the line number, where zero matches all line numbers and is thus
|
||||
equivalent to an omitted line number.
|
||||
|
||||
Multiple
|
||||
.B -W
|
||||
options can be given; when a warning matches more than one option, the action
|
||||
for the last matching option is performed. Invalid
|
||||
.B -W
|
||||
options are ignored (though, a warning message is printed about invalid options
|
||||
when the first warning is issued).
|
||||
|
||||
Warnings can also be controlled using the
|
||||
.B PYTHONWARNINGS
|
||||
environment variable and from within a Python program using the warnings
|
||||
module. For example, the warnings.filterwarnings() function can be used to use
|
||||
a regular expression on the warning message.
|
||||
|
||||
.TP
|
||||
.BI "\-X " option
|
||||
Set implementation-specific option. The following options are available:
|
||||
|
||||
-X faulthandler: enable faulthandler
|
||||
|
||||
-X showrefcount: output the total reference count and number of used
|
||||
memory blocks when the program finishes or after each statement in the
|
||||
interactive interpreter. This only works on debug builds
|
||||
|
||||
-X tracemalloc: start tracing Python memory allocations using the
|
||||
tracemalloc module. By default, only the most recent frame is stored in a
|
||||
traceback of a trace. Use -X tracemalloc=NFRAME to start tracing with a
|
||||
traceback limit of NFRAME frames
|
||||
|
||||
-X importtime: show how long each import takes. It shows module name,
|
||||
cumulative time (including nested imports) and self time (excluding
|
||||
nested imports). Note that its output may be broken in multi-threaded
|
||||
application. Typical usage is python3 -X importtime -c 'import asyncio'
|
||||
|
||||
-X dev: enable CPython's "development mode", introducing additional runtime
|
||||
checks which are too expensive to be enabled by default. It will not be
|
||||
more verbose than the default if the code is correct: new warnings are
|
||||
only emitted when an issue is detected. Effect of the developer mode:
|
||||
* Add default warning filter, as -W default
|
||||
* Install debug hooks on memory allocators: see the PyMem_SetupDebugHooks()
|
||||
C function
|
||||
* Enable the faulthandler module to dump the Python traceback on a crash
|
||||
* Enable asyncio debug mode
|
||||
* Set the dev_mode attribute of sys.flags to True
|
||||
* io.IOBase destructor logs close() exceptions
|
||||
|
||||
-X utf8: enable UTF-8 mode for operating system interfaces, overriding the default
|
||||
locale-aware mode. -X utf8=0 explicitly disables UTF-8 mode (even when it would
|
||||
otherwise activate automatically). See PYTHONUTF8 for more details
|
||||
|
||||
-X pycache_prefix=PATH: enable writing .pyc files to a parallel tree rooted at the
|
||||
given directory instead of to the code tree.
|
||||
|
||||
-X warn_default_encoding: enable opt-in EncodingWarning for 'encoding=None'
|
||||
|
||||
-X no_debug_ranges: disable the inclusion of the tables mapping extra location
|
||||
information (end line, start column offset and end column offset) to every
|
||||
instruction in code objects. This is useful when smaller code objects and pyc
|
||||
files are desired as well as suppressing the extra visual location indicators
|
||||
when the interpreter displays tracebacks.
|
||||
|
||||
-X frozen_modules=[on|off]: whether or not frozen modules should be used.
|
||||
The default is "on" (or "off" if you are running a local build).
|
||||
|
||||
-X int_max_str_digits=number: limit the size of int<->str conversions.
|
||||
This helps avoid denial of service attacks when parsing untrusted data.
|
||||
The default is sys.int_info.default_max_str_digits. 0 disables.
|
||||
|
||||
.TP
|
||||
.B \-x
|
||||
Skip the first line of the source. This is intended for a DOS
|
||||
specific hack only. Warning: the line numbers in error messages will
|
||||
be off by one!
|
||||
.SH INTERPRETER INTERFACE
|
||||
The interpreter interface resembles that of the UNIX shell: when
|
||||
called with standard input connected to a tty device, it prompts for
|
||||
commands and executes them until an EOF is read; when called with a
|
||||
file name argument or with a file as standard input, it reads and
|
||||
executes a
|
||||
.I script
|
||||
from that file;
|
||||
when called with
|
||||
.B \-c
|
||||
.IR command ,
|
||||
it executes the Python statement(s) given as
|
||||
.IR command .
|
||||
Here
|
||||
.I command
|
||||
may contain multiple statements separated by newlines.
|
||||
Leading whitespace is significant in Python statements!
|
||||
In non-interactive mode, the entire input is parsed before it is
|
||||
executed.
|
||||
.PP
|
||||
If available, the script name and additional arguments thereafter are
|
||||
passed to the script in the Python variable
|
||||
.IR sys.argv ,
|
||||
which is a list of strings (you must first
|
||||
.I import sys
|
||||
to be able to access it).
|
||||
If no script name is given,
|
||||
.I sys.argv[0]
|
||||
is an empty string; if
|
||||
.B \-c
|
||||
is used,
|
||||
.I sys.argv[0]
|
||||
contains the string
|
||||
.I '-c'.
|
||||
Note that options interpreted by the Python interpreter itself
|
||||
are not placed in
|
||||
.IR sys.argv .
|
||||
.PP
|
||||
In interactive mode, the primary prompt is `>>>'; the second prompt
|
||||
(which appears when a command is not complete) is `...'.
|
||||
The prompts can be changed by assignment to
|
||||
.I sys.ps1
|
||||
or
|
||||
.IR sys.ps2 .
|
||||
The interpreter quits when it reads an EOF at a prompt.
|
||||
When an unhandled exception occurs, a stack trace is printed and
|
||||
control returns to the primary prompt; in non-interactive mode, the
|
||||
interpreter exits after printing the stack trace.
|
||||
The interrupt signal raises the
|
||||
.I Keyboard\%Interrupt
|
||||
exception; other UNIX signals are not caught (except that SIGPIPE is
|
||||
sometimes ignored, in favor of the
|
||||
.I IOError
|
||||
exception). Error messages are written to stderr.
|
||||
.SH FILES AND DIRECTORIES
|
||||
These are subject to difference depending on local installation
|
||||
conventions; ${prefix} and ${exec_prefix} are installation-dependent
|
||||
and should be interpreted as for GNU software; they may be the same.
|
||||
The default for both is \fI/usr/local\fP.
|
||||
.IP \fI${exec_prefix}/bin/python\fP
|
||||
Recommended location of the interpreter.
|
||||
.PP
|
||||
.I ${prefix}/lib/python<version>
|
||||
.br
|
||||
.I ${exec_prefix}/lib/python<version>
|
||||
.RS
|
||||
Recommended locations of the directories containing the standard
|
||||
modules.
|
||||
.RE
|
||||
.PP
|
||||
.I ${prefix}/include/python<version>
|
||||
.br
|
||||
.I ${exec_prefix}/include/python<version>
|
||||
.RS
|
||||
Recommended locations of the directories containing the include files
|
||||
needed for developing Python extensions and embedding the
|
||||
interpreter.
|
||||
.RE
|
||||
.SH ENVIRONMENT VARIABLES
|
||||
.IP PYTHONSAFEPATH
|
||||
If this is set to a non-empty string, don't automatically prepend a potentially
|
||||
unsafe path to \fBsys.path\fP such as the current directory, the script's
|
||||
directory or an empty string. See also the \fB\-P\fP option.
|
||||
.IP PYTHONHOME
|
||||
Change the location of the standard Python libraries. By default, the
|
||||
libraries are searched in ${prefix}/lib/python<version> and
|
||||
${exec_prefix}/lib/python<version>, where ${prefix} and ${exec_prefix}
|
||||
are installation-dependent directories, both defaulting to
|
||||
\fI/usr/local\fP. When $PYTHONHOME is set to a single directory, its value
|
||||
replaces both ${prefix} and ${exec_prefix}. To specify different values
|
||||
for these, set $PYTHONHOME to ${prefix}:${exec_prefix}.
|
||||
.IP PYTHONPATH
|
||||
Augments the default search path for module files.
|
||||
The format is the same as the shell's $PATH: one or more directory
|
||||
pathnames separated by colons.
|
||||
Non-existent directories are silently ignored.
|
||||
The default search path is installation dependent, but generally
|
||||
begins with ${prefix}/lib/python<version> (see PYTHONHOME above).
|
||||
The default search path is always appended to $PYTHONPATH.
|
||||
If a script argument is given, the directory containing the script is
|
||||
inserted in the path in front of $PYTHONPATH.
|
||||
The search path can be manipulated from within a Python program as the
|
||||
variable
|
||||
.IR sys.path .
|
||||
.IP PYTHONPLATLIBDIR
|
||||
Override sys.platlibdir.
|
||||
.IP PYTHONSTARTUP
|
||||
If this is the name of a readable file, the Python commands in that
|
||||
file are executed before the first prompt is displayed in interactive
|
||||
mode.
|
||||
The file is executed in the same name space where interactive commands
|
||||
are executed so that objects defined or imported in it can be used
|
||||
without qualification in the interactive session.
|
||||
You can also change the prompts
|
||||
.I sys.ps1
|
||||
and
|
||||
.I sys.ps2
|
||||
in this file.
|
||||
.IP PYTHONOPTIMIZE
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-O\fP option. If set to an integer, it is equivalent to
|
||||
specifying \fB\-O\fP multiple times.
|
||||
.IP PYTHONDEBUG
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-d\fP option. If set to an integer, it is equivalent to
|
||||
specifying \fB\-d\fP multiple times.
|
||||
.IP PYTHONDONTWRITEBYTECODE
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-B\fP option (don't try to write
|
||||
.I .pyc
|
||||
files).
|
||||
.IP PYTHONINSPECT
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-i\fP option.
|
||||
.IP PYTHONIOENCODING
|
||||
If this is set before running the interpreter, it overrides the encoding used
|
||||
for stdin/stdout/stderr, in the syntax
|
||||
.IB encodingname ":" errorhandler
|
||||
The
|
||||
.IB errorhandler
|
||||
part is optional and has the same meaning as in str.encode. For stderr, the
|
||||
.IB errorhandler
|
||||
part is ignored; the handler will always be \'backslashreplace\'.
|
||||
.IP PYTHONNOUSERSITE
|
||||
If this is set to a non-empty string it is equivalent to specifying the
|
||||
\fB\-s\fP option (Don't add the user site directory to sys.path).
|
||||
.IP PYTHONUNBUFFERED
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-u\fP option.
|
||||
.IP PYTHONVERBOSE
|
||||
If this is set to a non-empty string it is equivalent to specifying
|
||||
the \fB\-v\fP option. If set to an integer, it is equivalent to
|
||||
specifying \fB\-v\fP multiple times.
|
||||
.IP PYTHONWARNINGS
|
||||
If this is set to a comma-separated string it is equivalent to
|
||||
specifying the \fB\-W\fP option for each separate value.
|
||||
.IP PYTHONHASHSEED
|
||||
If this variable is set to "random", a random value is used to seed the hashes
|
||||
of str and bytes objects.
|
||||
|
||||
If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for
|
||||
generating the hash() of the types covered by the hash randomization. Its
|
||||
purpose is to allow repeatable hashing, such as for selftests for the
|
||||
interpreter itself, or to allow a cluster of python processes to share hash
|
||||
values.
|
||||
|
||||
The integer must be a decimal number in the range [0,4294967295]. Specifying
|
||||
the value 0 will disable hash randomization.
|
||||
.IP PYTHONINTMAXSTRDIGITS
|
||||
Limit the maximum digit characters in an int value
|
||||
when converting from a string and when converting an int back to a str.
|
||||
A value of 0 disables the limit. Conversions to or from bases 2, 4, 8,
|
||||
16, and 32 are never limited.
|
||||
.IP PYTHONMALLOC
|
||||
Set the Python memory allocators and/or install debug hooks. The available
|
||||
memory allocators are
|
||||
.IR malloc
|
||||
and
|
||||
.IR pymalloc .
|
||||
The available debug hooks are
|
||||
.IR debug ,
|
||||
.IR malloc_debug ,
|
||||
and
|
||||
.IR pymalloc_debug .
|
||||
.IP
|
||||
When Python is compiled in debug mode, the default is
|
||||
.IR pymalloc_debug
|
||||
and the debug hooks are automatically used. Otherwise, the default is
|
||||
.IR pymalloc .
|
||||
.IP PYTHONMALLOCSTATS
|
||||
If set to a non-empty string, Python will print statistics of the pymalloc
|
||||
memory allocator every time a new pymalloc object arena is created, and on
|
||||
shutdown.
|
||||
.IP
|
||||
This variable is ignored if the
|
||||
.RB $ PYTHONMALLOC
|
||||
environment variable is used to force the
|
||||
.BR malloc (3)
|
||||
allocator of the C library, or if Python is configured without pymalloc support.
|
||||
.IP PYTHONASYNCIODEBUG
|
||||
If this environment variable is set to a non-empty string, enable the debug
|
||||
mode of the asyncio module.
|
||||
.IP PYTHONTRACEMALLOC
|
||||
If this environment variable is set to a non-empty string, start tracing
|
||||
Python memory allocations using the tracemalloc module.
|
||||
.IP
|
||||
The value of the variable is the maximum number of frames stored in a
|
||||
traceback of a trace. For example,
|
||||
.IB PYTHONTRACEMALLOC=1
|
||||
stores only the most recent frame.
|
||||
.IP PYTHONFAULTHANDLER
|
||||
If this environment variable is set to a non-empty string,
|
||||
.IR faulthandler.enable()
|
||||
is called at startup: install a handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS
|
||||
and SIGILL signals to dump the Python traceback.
|
||||
.IP
|
||||
This is equivalent to the \fB-X faulthandler\fP option.
|
||||
.IP PYTHONEXECUTABLE
|
||||
If this environment variable is set,
|
||||
.IB sys.argv[0]
|
||||
will be set to its value instead of the value got through the C runtime. Only
|
||||
works on Mac OS X.
|
||||
.IP PYTHONUSERBASE
|
||||
Defines the user base directory, which is used to compute the path of the user
|
||||
.IR site-packages
|
||||
directory and Distutils installation paths for
|
||||
.IR "python setup\.py install \-\-user" .
|
||||
.IP PYTHONPROFILEIMPORTTIME
|
||||
If this environment variable is set to a non-empty string, Python will
|
||||
show how long each import takes. This is exactly equivalent to setting
|
||||
\fB\-X importtime\fP on the command line.
|
||||
.IP PYTHONBREAKPOINT
|
||||
If this environment variable is set to 0, it disables the default debugger. It
|
||||
can be set to the callable of your debugger of choice.
|
||||
.SS Debug-mode variables
|
||||
Setting these variables only has an effect in a debug build of Python, that is,
|
||||
if Python was configured with the
|
||||
\fB\--with-pydebug\fP build option.
|
||||
.IP PYTHONTHREADDEBUG
|
||||
If this environment variable is set, Python will print threading debug info.
|
||||
The feature is deprecated in Python 3.10 and will be removed in Python 3.12.
|
||||
.IP PYTHONDUMPREFS
|
||||
If this environment variable is set, Python will dump objects and reference
|
||||
counts still alive after shutting down the interpreter.
|
||||
.SH AUTHOR
|
||||
The Python Software Foundation: https://www.python.org/psf/
|
||||
.SH INTERNET RESOURCES
|
||||
Main website: https://www.python.org/
|
||||
.br
|
||||
Documentation: https://docs.python.org/
|
||||
.br
|
||||
Developer resources: https://devguide.python.org/
|
||||
.br
|
||||
Downloads: https://www.python.org/downloads/
|
||||
.br
|
||||
Module repository: https://pypi.org/
|
||||
.br
|
||||
Newsgroups: comp.lang.python, comp.lang.python.announce
|
||||
.SH LICENSING
|
||||
Python is distributed under an Open Source license. See the file
|
||||
"LICENSE" in the Python source distribution for information on terms &
|
||||
conditions for accessing and otherwise using Python and for a
|
||||
DISCLAIMER OF ALL WARRANTIES.
|
||||
1
.CondaPkg/env/share/man/man1/unlzma.1
vendored
1
.CondaPkg/env/share/man/man1/unlzma.1
vendored
@@ -1 +0,0 @@
|
||||
xz.1
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user