Lasse Collin [Mon, 27 Sep 2010 20:29:34 +0000 (23:29 +0300)]
Major man page updates.
Lots of content was updated on the xz man page.
Technical improvements:
- Start a new sentence on a new line.
- Use fairly short lines.
- Use constant-width font for examples (where supported).
- Some minor cleanups.
Thanks to Jonathan Nieder for some language fixes.
Lasse Collin [Sun, 26 Sep 2010 15:10:31 +0000 (18:10 +0300)]
Fix the preset -3e.
depth=0 was missing.
Lasse Collin [Thu, 23 Sep 2010 11:03:10 +0000 (14:03 +0300)]
Add translations.bash and translation notes to README.
translations.bash prints some messages from xz, which
hopefully makes it a bit easier to test translations.
Lasse Collin [Fri, 17 Sep 2010 19:14:30 +0000 (22:14 +0300)]
xz: Update the Czech translation.
Thanks to Marek Černocký.
Lasse Collin [Thu, 16 Sep 2010 20:40:41 +0000 (23:40 +0300)]
xz: Add Italian translation.
Thanks to Milo Casagrande and Lorenzo De Liso.
Lasse Collin [Tue, 14 Sep 2010 21:34:13 +0000 (00:34 +0300)]
xz: Edit a translators comment.
Lasse Collin [Tue, 14 Sep 2010 19:47:14 +0000 (22:47 +0300)]
xz: Add German translation.
Thanks to Andre Noll.
Lasse Collin [Fri, 10 Sep 2010 11:30:25 +0000 (14:30 +0300)]
Updated README.
Lasse Collin [Fri, 10 Sep 2010 11:30:07 +0000 (14:30 +0300)]
Updated INSTALL.
Lasse Collin [Fri, 10 Sep 2010 11:26:20 +0000 (14:26 +0300)]
Updated the git repository address in ChangeLog.
Lasse Collin [Fri, 10 Sep 2010 11:09:33 +0000 (14:09 +0300)]
xz: Add a comment to translators about "literal context bits".
Lasse Collin [Fri, 10 Sep 2010 07:30:33 +0000 (10:30 +0300)]
xz: Multiple fixes.
The code assumed that printing numbers with thousand separators
and decimal points would always produce only US-ASCII characters.
This was used for buffer sizes (with snprintf(), no overflows)
and aligning columns of the progress indicator and --list. That
assumption was wrong (e.g. LC_ALL=fi_FI.UTF-8 with glibc), so
multibyte character support was added in this commit. The old
way is used if the operating system doesn't have enough multibyte
support (e.g. lacks wcwidth()).
The sizes of buffers were increased to accomodate multibyte
characters. I don't know how big they should be exactly, but
they aren't used for anything critical, so it's not too bad.
If they still aren't big enough, I hopefully get a bug report.
snprintf() takes care of avoiding buffer overflows.
Some static buffers were replaced with buffers allocated on
stack. double_to_str() was removed. uint64_to_str() and
uint64_to_nicestr() now share the static buffer and test
for thousand separator support.
Integrity check names "None" and "Unknown-N" (2 <= N <= 15)
were marked to be translated. I had forgot these, plus they
wouldn't have worked correctly anyway before this commit,
because printing tables with multibyte strings didn't work.
Thanks to Marek Černocký for reporting the bug about
misaligned table columns in --list output.
Lasse Collin [Wed, 8 Sep 2010 05:49:22 +0000 (08:49 +0300)]
Update the Czech translation.
Thanks to Marek Černocký.
Lasse Collin [Tue, 7 Sep 2010 09:31:40 +0000 (12:31 +0300)]
xz: Add a note to translators.
Lasse Collin [Tue, 7 Sep 2010 07:42:13 +0000 (10:42 +0300)]
Fix use of N_() and ngettext().
I had somehow thought that N_() is usually used
as shorthand for ngettext().
This also fixes a missing \n from a call to ngettext().
Lasse Collin [Mon, 6 Sep 2010 16:43:12 +0000 (19:43 +0300)]
Add missing files to POTFILES.in.
Lasse Collin [Mon, 6 Sep 2010 07:16:24 +0000 (10:16 +0300)]
xz: Improve a comment.
Lasse Collin [Sun, 5 Sep 2010 18:34:29 +0000 (21:34 +0300)]
xz: Update the comment about NetBSD in file_io.c.
Thanks to Joerg Sonnenberger.
Lasse Collin [Sun, 5 Sep 2010 18:11:33 +0000 (21:11 +0300)]
xz: Use an array instead of pointer for stdin_filename.
Thanks Joerg Sonnenberger.
Lasse Collin [Sun, 5 Sep 2010 09:16:17 +0000 (12:16 +0300)]
xz: Hopefully ease translating the messages in list.c.
Lasse Collin [Sat, 4 Sep 2010 20:14:44 +0000 (23:14 +0300)]
xz: Fix grammar.
Lasse Collin [Sat, 4 Sep 2010 20:12:20 +0000 (23:12 +0300)]
xz: Use lzma_lzma_preset() to initialize the options structure.
Lasse Collin [Sat, 4 Sep 2010 19:16:28 +0000 (22:16 +0300)]
Don't set lc=4 with --extreme.
This should reduce the cases where --extreme makes
compression worse. On the other hand, some other
files may now benefit slightly less from --extreme.
Lasse Collin [Sat, 4 Sep 2010 19:10:32 +0000 (22:10 +0300)]
xz: Minor improvements to --help and --long-help.
Jonathan Nieder [Fri, 3 Sep 2010 21:49:15 +0000 (16:49 -0500)]
Adjust memory limits in test_compress.sh
Testing compression at level -4 now requires 48 MiB of free store at
compression time and 5 MiB at decompression time.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Lasse Collin [Fri, 3 Sep 2010 12:54:40 +0000 (15:54 +0300)]
xz: Make -vv show also decompressor memory usage.
Lasse Collin [Fri, 3 Sep 2010 12:13:12 +0000 (15:13 +0300)]
Tweak the compression presets -0 .. -5.
"Extreme" mode might need some further tweaking still.
Docs were not updated yet.
Lasse Collin [Fri, 3 Sep 2010 09:28:41 +0000 (12:28 +0300)]
liblzma: Adjust default depth calculation for HC3 and HC4.
It was 8 + nice_len / 4, now it is 4 + nice_len / 4.
This allows faster settings at lower nice_len values,
even though it seems that I won't use automatic depth
calcuation with HC3 and HC4 in the presets.
Lasse Collin [Fri, 3 Sep 2010 08:11:25 +0000 (11:11 +0300)]
xz: Make --help two lines shorter.
At least for now, the --help option doesn't list any
options that take arguments, so "Mandatory arguments to..."
can be omitted.
Lasse Collin [Thu, 2 Sep 2010 16:22:35 +0000 (19:22 +0300)]
xz: Make setting a preset override a custom filter chain.
This is more logical behavior than ignoring preset level
options once a custom filter chain has been specified.
Lasse Collin [Thu, 2 Sep 2010 16:09:57 +0000 (19:09 +0300)]
xz: Always warn if adjusting dictionary size due to memlimit.
Lasse Collin [Tue, 10 Aug 2010 08:04:30 +0000 (11:04 +0300)]
Fix test_compress.sh.
It broke when --memory option was removed from xzdec.
Thanks to Jonathan Nieder.
Lasse Collin [Sat, 7 Aug 2010 17:45:18 +0000 (20:45 +0300)]
Disable the memory usage limiter by default.
For several people, the limiter causes bigger problems that
it solves, so it is better to have it disabled by default.
Those who want to have a limiter by default need to enable
it via the environment variable XZ_DEFAULTS.
Support for environment variable XZ_DEFAULTS was added. It is
parsed before XZ_OPT and technically identical with it. The
intended uses differ quite a bit though; see the man page.
The memory usage limit can now be set separately for
compression and decompression using --memlimit-compress and
--memlimit-decompress. To set both at once, -M or --memlimit
can be used. --memory was retained as a legacy alias for
--memlimit for backwards compatibility.
The semantics of --info-memory were changed in backwards
incompatible way. Compatibility wasn't meaningful due to
changes in the memory usage limiter functionality.
The memory usage limiter info is no longer shown at the
bottom of xz --long -help.
The memory usage limiter support for removed completely from xzdec.
xz's man page was updated to match the above changes. Various
unrelated fixes were also made to the man page.
Lasse Collin [Fri, 6 Aug 2010 17:22:16 +0000 (20:22 +0300)]
Add missing const to a global constant in xz.
Lasse Collin [Wed, 28 Jul 2010 08:44:55 +0000 (11:44 +0300)]
Language fixes for man pages.
Thanks to A. Costa and Jonathan Nieder.
Lasse Collin [Tue, 27 Jul 2010 17:47:12 +0000 (20:47 +0300)]
Windows: Add a note about building a Git repository snapshot
Lasse Collin [Tue, 27 Jul 2010 17:45:03 +0000 (20:45 +0300)]
Windows: build.sh is a bash script so name it correctly.
Lasse Collin [Tue, 27 Jul 2010 17:27:32 +0000 (20:27 +0300)]
Windows: Don't strip liblzma.a too much.
Lasse Collin [Tue, 13 Jul 2010 17:07:26 +0000 (20:07 +0300)]
Updated THANKS.
Lasse Collin [Tue, 13 Jul 2010 16:55:50 +0000 (19:55 +0300)]
Add two simple example programs.
Hopefully these help a bit when learning the basics
of liblzma API. I plan to write detailed examples about
both basic and advanced features with lots of comments,
but these two examples are good have right now.
The examples were written by Daniel Mealha Cabrita. Thanks.
Lasse Collin [Tue, 15 Jun 2010 11:06:29 +0000 (14:06 +0300)]
Add --no-adjust.
Lasse Collin [Fri, 11 Jun 2010 18:51:32 +0000 (21:51 +0300)]
Updated THANKS.
Lasse Collin [Fri, 11 Jun 2010 18:48:32 +0000 (21:48 +0300)]
Clarify the description of the default memlimit in the man page.
Thanks to Denis Excoffier.
Lasse Collin [Fri, 11 Jun 2010 18:43:28 +0000 (21:43 +0300)]
Fix string to uint64_t conversion.
Thanks to Denis Excoffier for the bug report.
Lasse Collin [Fri, 11 Jun 2010 07:40:28 +0000 (10:40 +0300)]
Put the git commit to the filename in mydist rule.
Lasse Collin [Wed, 2 Jun 2010 20:13:55 +0000 (23:13 +0300)]
Fix compiling with -Werror.
Lasse Collin [Wed, 2 Jun 2010 20:09:22 +0000 (23:09 +0300)]
Silence a bogus Valgrind warning.
When using -O2 with GCC, it liked to swap two comparisons
in one "if" statement. It's otherwise fine except that
the latter part, which is seemingly never executed, got
executed (nothing wrong with that) and then triggered
warning in Valgrind about conditional jump depending on
uninitialized variable. A few people find this annoying
so do things a bit differently to avoid the warning.
Lasse Collin [Wed, 2 Jun 2010 18:32:12 +0000 (21:32 +0300)]
Fix a Windows-specific FIXME in signal handling code.
Lasse Collin [Wed, 2 Jun 2010 14:46:58 +0000 (17:46 +0300)]
Adjust SA_RESTART workaround.
I want to get a bug report if something else than
DJGPP lacks SA_RESTART.
Lasse Collin [Tue, 1 Jun 2010 13:02:30 +0000 (16:02 +0300)]
xz man page updates.
- Concatenating .xz files and padding
- List mode
- Robot mode
- A few examples (but many more are needed)
Lasse Collin [Tue, 1 Jun 2010 12:51:44 +0000 (15:51 +0300)]
Major update to xz --list.
Lasse Collin [Tue, 1 Jun 2010 11:13:03 +0000 (14:13 +0300)]
Rename message_filters_get() to message_filters_to_str().
Lasse Collin [Tue, 1 Jun 2010 11:09:12 +0000 (14:09 +0300)]
Fix a comment.
Lasse Collin [Thu, 27 May 2010 13:17:42 +0000 (16:17 +0300)]
Fix lzma_block_compressed_size().
Lasse Collin [Thu, 27 May 2010 11:32:51 +0000 (14:32 +0300)]
Take Cygwin into account in some #if lines.
This change is no-op, but good to have just in case
for the future.
Lasse Collin [Thu, 27 May 2010 10:42:44 +0000 (13:42 +0300)]
Remove references to the Subblock filter in xz and tests.
Thanks to Jonathan Nieder.
Lasse Collin [Thu, 27 May 2010 10:35:36 +0000 (13:35 +0300)]
Remove unused chunk_size.c.
Thanks to Jonathan Nieder for the reminder.
Jonathan Nieder [Thu, 27 May 2010 07:31:33 +0000 (02:31 -0500)]
Use my_min() instead of MIN() in src/xz/list.c
This should have been done in
920a69a8d8e4203c5edddd829d932130eac188ea.
Lasse Collin [Wed, 26 May 2010 07:36:46 +0000 (10:36 +0300)]
Rename MIN() and MAX() to my_min() and my_max().
This should avoid some minor portability issues.
Lasse Collin [Wed, 26 May 2010 07:30:20 +0000 (10:30 +0300)]
Fix compilation of debug/known_sizes.c.
Lasse Collin [Wed, 26 May 2010 07:28:54 +0000 (10:28 +0300)]
Remove references to Subblock filter in debug/sync_flush.c.
Lasse Collin [Wed, 26 May 2010 07:16:57 +0000 (10:16 +0300)]
Better #error message.
Lasse Collin [Wed, 26 May 2010 06:55:47 +0000 (09:55 +0300)]
Remove the Subblock filter code for now.
The spec isn't finished and the code didn't compile anymore.
It won't be included in XZ Utils 5.0.0. It's easy to get it
back once the spec is done.
Lasse Collin [Sun, 16 May 2010 15:42:22 +0000 (18:42 +0300)]
Split message_filters().
message_filters_to_str() converts the filter chain to
a string. message_filters_show() replaces the original
message_filters().
uint32_to_optstr() was also added to show the dictionary
size in nicer format when possible.
Lasse Collin [Fri, 14 May 2010 20:17:20 +0000 (23:17 +0300)]
Omit lzma_restrict from the API headers.
It isn't really useful so omitting it makes things
shorter and slightly more readable.
Lasse Collin [Mon, 10 May 2010 16:57:24 +0000 (19:57 +0300)]
Updated INSTALL.
Lasse Collin [Mon, 10 May 2010 16:54:52 +0000 (19:54 +0300)]
Updated THANKS.
Lasse Collin [Mon, 10 May 2010 16:54:15 +0000 (19:54 +0300)]
Updates to tuklib_physmem and tuklib_cpucores.
Don't use #error to generate compile error, because some
compilers actually don't take it as an error. This fixes
tuklib_physmem on IRIX.
Fix incorrect error check for sysconf() return values.
Add AIX, HP-UX, and Tru64 specific code to detect the
amount RAM.
Add HP-UX specific code to detect the number of CPU cores.
Thanks a lot to Peter O'Gorman for initial patches,
testing, and debugging these fixes.
Lasse Collin [Mon, 12 Apr 2010 18:55:56 +0000 (21:55 +0300)]
Show both elapsed time and estimated remaining time in xz -v.
The extra space for showing both has been taken from the
sizes field. If the sizes grow big, bigger units than MiB
will be used. It makes it slightly difficult to see that
progress is still happening with huge files, but it should
be OK in practice.
Thanks to Trent W. Buck for <http://bugs.debian.org/574583>
and Jonathan Nieder for suggestions how to fix it.
Lasse Collin [Wed, 31 Mar 2010 13:47:25 +0000 (16:47 +0300)]
Add a simple tip to faq.txt about tar and xz.
Thanks to Gilles Espinasse.
Lasse Collin [Mon, 22 Mar 2010 19:03:03 +0000 (21:03 +0200)]
Updated THANKS.
Lasse Collin [Sun, 7 Mar 2010 17:52:25 +0000 (19:52 +0200)]
Fix xzgrep to not break if filenames have spaces or quotes.
Thanks to someone who reported the bug on IRC.
Lasse Collin [Sun, 7 Mar 2010 11:59:32 +0000 (13:59 +0200)]
Treat all integer multiplier suffixes as base-2.
Originally both base-2 and base-10 were supported, but since
there seems to be little need for base-10 in XZ Utils, treat
everything as base-2 and also be more relaxed about the case
of the first letter of the suffix. Now xz will accept e.g.
KiB, Ki, k, K, kB, and KB, and interpret them all as 1024. The
recommended spelling of the suffixes are still KiB, MiB, and GiB.
Lasse Collin [Sun, 7 Mar 2010 11:50:23 +0000 (13:50 +0200)]
Consistently round up the memory usage limit in messages.
It still feels a bit wrong to round 1 byte to 1 MiB but
at least it is now done consistently so that the same
byte value is always rounded the same way to MiB.
Lasse Collin [Sun, 7 Mar 2010 11:34:34 +0000 (13:34 +0200)]
Change the default of --enable-assume-ram from 32 to 128 MiB.
This is to allow files created with "xz -9" to be decompressed
if the amount of RAM cannot be determined.
Lasse Collin [Sun, 7 Mar 2010 11:29:28 +0000 (13:29 +0200)]
Increase the default memory usage limit on "low-memory" systems.
Previously the default limit was always 40 % of RAM. The
new limit is a little bit more complex:
- If 40 % of RAM is at least 80 MiB, 40 % of RAM is used
as the limit.
- If 80 % of RAM is over 80 MiB, 80 MiB is used as the limit.
- Otherwise 80 % of RAM is used as the limit.
This should make it possible to decompress files created with
"xz -9" on more systems. Swapping is generally more expected
on systems with less RAM, so higher default limit on them
shouldn't cause too bad surprises in terms of heavy swapping.
Instead, the higher default limit should reduce the number of
bad surprises when it used to prevent decompression of files
created with "xz -9". The DoS prevention system shouldn't be
a DoS itself.
Note that even with the new default limit, a system with 64 MiB
RAM cannot decompress files created with "xz -9" without user
overriding the limit. This should be OK, because if xz is going
to need more memory than the system has RAM, it will run very
very slowly and thus it's good that user has to override the limit
in that case.
Lasse Collin [Sat, 6 Mar 2010 19:36:19 +0000 (21:36 +0200)]
Updated THANKS.
Lasse Collin [Sat, 6 Mar 2010 19:17:20 +0000 (21:17 +0200)]
Fix missing initialization in lzma_strm_init().
With bad luck, lzma_code() could return LZMA_BUF_ERROR
when it shouldn't.
This has been here since the early days of liblzma.
It got triggered by the modifications made to the xz
tool in commit
18c10c30d2833f394cd7bce0e6a821044b15832f
but only when decompressing .lzma files. Somehow I managed
to miss testing that with Valgrind earlier.
This fixes <http://bugs.gentoo.org/show_bug.cgi?id=305591>.
Thanks to Rafał Mużyło for helping to debug it on IRC.
Lasse Collin [Fri, 12 Feb 2010 11:16:15 +0000 (13:16 +0200)]
Collection of language fixes to comments and docs.
Thanks to Jonathan Nieder.
Lasse Collin [Fri, 12 Feb 2010 10:41:20 +0000 (12:41 +0200)]
Fix jl -> jb in ASM files.
Lasse Collin [Fri, 12 Feb 2010 10:31:22 +0000 (12:31 +0200)]
Use __APPLE__ instead of __MACH__ in ASM files.
This allows the files to work on HURD.
Thanks to Jonathan Nieder.
Lasse Collin [Sun, 7 Feb 2010 17:48:06 +0000 (19:48 +0200)]
Subtle change to liblzma Block handling API.
lzma_block.version has to be initialized even for
lzma_block_header_decode(). This way a future version
of liblzma won't allocate memory in a way that an old
application doesn't know how to free it.
The subtlety of this change is that all current apps
using lzma_block_header_decode() will keep working for
now, because the only possible version value is zero,
and lzma_block_header_decode() unconditionally sets the
version to zero even now. Unless fixed, these apps will
break in the future if a new version of the Block options
is ever needed.
Lasse Collin [Tue, 2 Feb 2010 09:50:11 +0000 (11:50 +0200)]
Fix wrong assertion.
This was added in
455e68c030fde8a8c2f5e254c3b3ab9489bf3735.
Lasse Collin [Mon, 1 Feb 2010 20:48:42 +0000 (22:48 +0200)]
Updated TODO.
Lasse Collin [Mon, 1 Feb 2010 20:47:54 +0000 (22:47 +0200)]
Fix typos in comments.
Lasse Collin [Mon, 1 Feb 2010 20:46:56 +0000 (22:46 +0200)]
Fix signal handling for --list.
Lasse Collin [Mon, 1 Feb 2010 09:44:45 +0000 (11:44 +0200)]
Fix compression of symlinks with --force.
xz --force accepted symlinks, but didn't remove
them after successful compression. Instead, an error
message was displayed.
Lasse Collin [Mon, 1 Feb 2010 08:20:57 +0000 (10:20 +0200)]
Fix a comment.
Lasse Collin [Sun, 31 Jan 2010 21:43:54 +0000 (23:43 +0200)]
Updated THANKS.
Lasse Collin [Sun, 31 Jan 2010 21:41:29 +0000 (23:41 +0200)]
Updated TODO.
Lasse Collin [Sun, 31 Jan 2010 21:35:04 +0000 (23:35 +0200)]
Mention TODO in README.
Lasse Collin [Sun, 31 Jan 2010 21:31:14 +0000 (23:31 +0200)]
Updated INSTALL.
Lasse Collin [Sun, 31 Jan 2010 21:28:51 +0000 (23:28 +0200)]
Revise the Windows build files.
The old Makefile + config.h was deleted, because it
becomes outdated too easily and building with the
Autotools based build system works fine even on Windows.
windows/build.sh hasn't got much testing, but it should
work to build 32-bit x86 and x86-64 versions of XZ Utils
using MSYS, MinGW or MinGW-w32, and MinGW-w64.
windows/INSTALL-Windows.txt describes what packages are
needed and how to install them.
windows/README-Windows.txt is a readme file for the binary
package that build.sh hopefully builds.
There are no instructions about using Autotools for now,
so those using a git snapshot may want to run
"autoreconf -fi && ./configure && make mydist" on a UN*X
box and then copy the resulting .tar.gz to a Windows.
Lasse Collin [Sun, 31 Jan 2010 17:52:38 +0000 (19:52 +0200)]
Select the default integrity check type at runtime.
Previously it was set statically to CRC64 or CRC32
depending on options passed to the configure script.
Lasse Collin [Sun, 31 Jan 2010 16:17:50 +0000 (18:17 +0200)]
Improve displaying of the memory usage limit.
Lasse Collin [Sun, 31 Jan 2010 10:53:56 +0000 (12:53 +0200)]
Don't use uninitialized sigset_t.
If signal handlers haven't been established, then it's
useless to try to block them, especially since the sigset_t
used for blocking hasn't been initialized yet.
Lasse Collin [Sun, 31 Jan 2010 10:01:54 +0000 (12:01 +0200)]
Delay opening the destionation file and other fixes.
The opening of the destination file is now delayed a little.
The coder is initialized, and if decompressing, the memory
usage of the first Block compared against the memory
usage limit before the destination file is opened. This
means that if --force was used, the old "target" file won't
be deleted so easily when something goes wrong very early.
Thanks to Mark K for the bug report.
The above fix required some changes to progress message
handling. Now there is a separate function for setting and
printing the filename. It is used also in list.c.
list_file() now handles stdin correctly (gives an error).
A useless check for user_abort was removed from file_io.c.
Lasse Collin [Fri, 29 Jan 2010 20:48:04 +0000 (22:48 +0200)]
Add list.h to src/xz/Makefile.am.
This should have been already in
0bc9eab243dee3be764b3530433a7fcdc3f7c6a1.
Lasse Collin [Fri, 29 Jan 2010 11:24:27 +0000 (13:24 +0200)]
Add lzmainfo.1 to manfiles list to convert to .txt and .pdf.
Lasse Collin [Wed, 27 Jan 2010 14:42:11 +0000 (16:42 +0200)]
Silence two compiler warnings on DOS-like systems.