Lasse Collin [Wed, 26 Jan 2011 10:19:08 +0000 (12:19 +0200)]
xz: Fix --force on setuid/setgid/sticky and multi-hardlink files.
xz didn't compress setuid/setgid/sticky files and files
with multiple hard links even with --force. This bug was
introduced in
23ac2c44c3ac76994825adb7f9a8f719f78b5ee4.
Thanks to Charles Wilson.
Lasse Collin [Tue, 18 Jan 2011 19:25:24 +0000 (21:25 +0200)]
Updated THANKS.
Lasse Collin [Tue, 18 Jan 2011 19:23:50 +0000 (21:23 +0200)]
Add alloc_size and malloc attributes to a few functions.
Thanks to Cristian Rodríguez for the original patch.
Lasse Collin [Mon, 13 Dec 2010 14:36:33 +0000 (16:36 +0200)]
Scripts: Fix gzip and bzip2 support in xzdiff.
Lasse Collin [Sun, 12 Dec 2010 19:23:55 +0000 (21:23 +0200)]
Build: Enable ASM on DJGPP by default.
Lasse Collin [Sun, 12 Dec 2010 14:09:42 +0000 (16:09 +0200)]
Updated THANKS.
Lasse Collin [Sun, 12 Dec 2010 14:07:11 +0000 (16:07 +0200)]
Add missing PRIx32 and PRIx64 compatibility definitions.
This fixes portability to systems that lack C99 inttypes.h.
Thanks to Juan Manuel Guerrero.
Lasse Collin [Sun, 12 Dec 2010 12:50:04 +0000 (14:50 +0200)]
DOS-like: Treat \ and : as directory separators in addition to /.
Juan Manuel Guerrero had fixed this in his XZ Utils port
to DOS/DJGPP. The bug affects also Windows and OS/2.
Lasse Collin [Tue, 7 Dec 2010 16:52:04 +0000 (18:52 +0200)]
Translations: Fix Czech translation of "sparse file".
Thanks to Petr Hubený and Marek Černocký.
Lasse Collin [Mon, 15 Nov 2010 12:28:26 +0000 (14:28 +0200)]
liblzma: Document the return value of lzma_lzma_preset().
Jonathan Nieder [Fri, 12 Nov 2010 21:22:13 +0000 (15:22 -0600)]
Simplify paths in generated API docs
Currently the file list generated by Doxygen has src/ at the
beginning of each path. Paths like common/sysdefs.h and
liblzma/api/lzma.h are easier to read without such a prefix.
Builds from a separate build directory with
mkdir build
cd build
../configure
doxygen Doxyfile
include an even longer prefix /home/someone/src/xz/src; this
patch has the nice side-effect of eliminating that prefix, too.
Fixes: http://bugs.debian.org/572273
Lasse Collin [Tue, 26 Oct 2010 12:48:48 +0000 (15:48 +0300)]
Build: Copy the example programs to $docdir/examples.
The example programs by Daniel Mealha Cabrita were included
in the git repository, but I had forgot to add them to
Makefile.am. Thus, they didn't get included in the source
package at all by "make dist".
Lasse Collin [Sat, 23 Oct 2010 14:25:52 +0000 (17:25 +0300)]
Build: Fix mydist rule when .git doesn't exist.
Lasse Collin [Sat, 23 Oct 2010 11:15:35 +0000 (14:15 +0300)]
Add NEWS for 5.0.0.
Lasse Collin [Sat, 23 Oct 2010 11:02:53 +0000 (14:02 +0300)]
Bump version to 5.0.0 and liblzma version-info to 5:0:0.
Lasse Collin [Sat, 23 Oct 2010 09:30:54 +0000 (12:30 +0300)]
liblzma: Make lzma_code() check the reserved members in lzma_stream.
If any of the reserved members in lzma_stream are non-zero
or non-NULL, LZMA_OPTIONS_ERROR is returned. It is possible
that a new feature in the future is indicated by just setting
a reserved member to some other value, so the old liblzma
version need to catch it as an unsupported feature.
Lasse Collin [Sat, 23 Oct 2010 09:26:33 +0000 (12:26 +0300)]
Windows: Use MinGW's stdio functions.
The non-standard ones from msvcrt.dll appear to work
most of the time with XZ Utils, but there are some
corner cases where things may go very wrong. So it's
good to use the better replacements provided by
MinGW(-w64) runtime.
Lasse Collin [Sat, 23 Oct 2010 09:21:32 +0000 (12:21 +0300)]
liblzma: Use 512 as INDEX_GROUP_SIZE.
This lets compiler use shifting instead of 64-bit division.
Lasse Collin [Sat, 23 Oct 2010 09:20:11 +0000 (12:20 +0300)]
liblzma: A few ABI tweaks to reserve space in structures.
Lasse Collin [Thu, 21 Oct 2010 20:16:11 +0000 (23:16 +0300)]
xz: Make sure that message_strm() can never return NULL.
Lasse Collin [Thu, 21 Oct 2010 20:06:31 +0000 (23:06 +0300)]
liblzma: Update the comments in the API headers.
Adding support for LZMA_FINISH for Index encoding and
decoding needed tiny additions to the relevant .c files too.
Lasse Collin [Tue, 19 Oct 2010 09:08:30 +0000 (12:08 +0300)]
Update INSTALL.generic.
Lasse Collin [Tue, 19 Oct 2010 08:44:37 +0000 (11:44 +0300)]
Clean up a few FIXMEs and TODOs.
lzma_chunk_size() was commented out because it is
currently useless.
Lasse Collin [Tue, 19 Oct 2010 07:21:08 +0000 (10:21 +0300)]
Update docs.
Lasse Collin [Tue, 12 Oct 2010 12:13:30 +0000 (15:13 +0300)]
xz: Avoid raise() also on OpenVMS.
This is similar to DOS/DJGPP that killing the program
with a signal will print a backtrace or a similar message.
Lasse Collin [Mon, 11 Oct 2010 18:26:19 +0000 (21:26 +0300)]
xz: Avoid SA_RESTART for portability reasons.
SA_RESTART is not as portable as I had hoped. It's missing
at least from OpenVMS, QNX, and DJGPP). Luckily we can do
fine without SA_RESTART.
Lasse Collin [Sun, 10 Oct 2010 14:58:58 +0000 (17:58 +0300)]
xz: Use "%"PRIu32 instead of "%d" in a format string.
Lasse Collin [Sun, 10 Oct 2010 14:43:26 +0000 (17:43 +0300)]
test_files.sh: Fix the first line.
For some reason this prevented running the test only
on OS/2 and even on that it broke only recently.
Thanks to Elbert Pol.
Lasse Collin [Sun, 10 Oct 2010 13:49:01 +0000 (16:49 +0300)]
lzmainfo: Use "%"PRIu32 instead of "%u" for uint32_t.
Lasse Collin [Sun, 10 Oct 2010 13:47:01 +0000 (16:47 +0300)]
lzmainfo: Use fileno(stdin) instead of STDIN_FILENO.
Lasse Collin [Sat, 9 Oct 2010 20:20:51 +0000 (23:20 +0300)]
lzmainfo: Use setmode() on DOS-like systems.
Lasse Collin [Sat, 9 Oct 2010 18:51:03 +0000 (21:51 +0300)]
OS/2 and DOS: Be less verbose on signals.
Calling raise() to kill xz when user has pressed C-c
is a bit verbose on OS/2 and DOS/DJGPP. Instead of
calling raise(), set only the exit status to 1.
Lasse Collin [Sat, 9 Oct 2010 16:28:49 +0000 (19:28 +0300)]
DOS: Update the Makefile, config.h and README.
This is now simpler and builds only xz.exe.
Lasse Collin [Sat, 9 Oct 2010 15:57:55 +0000 (18:57 +0300)]
Windows: Put some license info into README-Windows.txt.
Lasse Collin [Sat, 9 Oct 2010 15:57:04 +0000 (18:57 +0300)]
Windows: Fix a diagnostics bug in build.bash.
Lasse Collin [Sat, 9 Oct 2010 10:02:15 +0000 (13:02 +0300)]
lzmainfo: Add Windows resource file.
Lasse Collin [Sat, 9 Oct 2010 09:57:25 +0000 (12:57 +0300)]
Add missing public domain notice to lzmadec_w32res.rc.
Lasse Collin [Sat, 9 Oct 2010 09:52:12 +0000 (12:52 +0300)]
Windows: Update common_w32res.rc.
Lasse Collin [Sat, 9 Oct 2010 09:27:08 +0000 (12:27 +0300)]
Windows: Make build.bash prefer MinGW-w32 over MinGW.
This is simply for licensing reasons. The 64-bit version
will be built with MinGW-w64 anyway (at least for now),
so using it also for 32-bit build allows using the same
copyright notice about the MinGW-w64/w32 runtime.
Note that using MinGW would require a copyright notice too,
because its runtime is not in the public domain either even
though MinGW's home page claims that it is public domain.
See <http://marc.info/?l=mingw-users&m=
126489506214078>.
Lasse Collin [Sat, 9 Oct 2010 08:33:21 +0000 (11:33 +0300)]
Windows: Copy COPYING-Windows.txt (if it exists) to the package.
Also, put README-Windows.txt to the doc directory like
the other documentation files.
Lasse Collin [Fri, 8 Oct 2010 18:42:37 +0000 (21:42 +0300)]
Windows: Fix build.bash again.
630a8beda34af0ac153c8051b1bf01230558e422 wasn't good.
Lasse Collin [Fri, 8 Oct 2010 13:53:20 +0000 (16:53 +0300)]
Use LZMA_VERSION_STRING instead of PACKAGE_VERSION.
Those are the same thing, and the former makes it a bit
easier to build the code with other build systems, because
one doesn't need to update the version number into custom
config.h.
This change affects only lzmainfo. Other tools were already
using LZMA_VERSION_STRING.
Lasse Collin [Fri, 8 Oct 2010 12:59:25 +0000 (15:59 +0300)]
configure.ac: Remove two unused defines.
Lasse Collin [Fri, 8 Oct 2010 12:32:29 +0000 (15:32 +0300)]
Make tests accommodate missing xz or xzdec.
Lasse Collin [Fri, 8 Oct 2010 12:25:45 +0000 (15:25 +0300)]
Build: Add options to disable individual command line tools.
Lasse Collin [Wed, 6 Oct 2010 21:44:53 +0000 (00:44 +0300)]
Windows: Make build.bash work without --enable-dynamic=no.
Lasse Collin [Tue, 5 Oct 2010 11:13:16 +0000 (14:13 +0300)]
Build: Remove the static/dynamic tricks.
Most distros want xz linked against shared liblzma, so
it doesn't help much to require --enable-dynamic for that.
Those who want to avoid PIC on x86-32 to get better
performance, can still do it e.g. by using --disable-shared
to compile xz and then another pass to compile shared liblzma.
Part of these static/dynamic tricks were needed for Windows
in the past. Nowadays we rely on GCC and binutils to do the
right thing with auto-import. If the Autotooled build system
needs to support some other toolchain on Windows in the future,
this may need some rethinking.
Lasse Collin [Tue, 5 Oct 2010 09:18:58 +0000 (12:18 +0300)]
configure.ac: Silence a warning from Autoconf 2.68.
Lasse Collin [Mon, 4 Oct 2010 16:43:01 +0000 (19:43 +0300)]
A few more languages files to the xz man page.
Thanks to Jonathan Nieder.
Lasse Collin [Sat, 2 Oct 2010 09:07:33 +0000 (12:07 +0300)]
Update the FAQ.
Lasse Collin [Sat, 2 Oct 2010 08:38:20 +0000 (11:38 +0300)]
liblzma: Small fixes to comments in the API headers.
Lasse Collin [Tue, 28 Sep 2010 08:40:12 +0000 (11:40 +0300)]
Create the PDF versions of the man pages better.
Lasse Collin [Tue, 28 Sep 2010 07:59:53 +0000 (10:59 +0300)]
Move version.sh to build-aux.
Lasse Collin [Tue, 28 Sep 2010 07:53:02 +0000 (10:53 +0300)]
Update .gitignore.
Lasse Collin [Mon, 27 Sep 2010 22:17:14 +0000 (01:17 +0300)]
Fix accomodate -> accommodate on the xz man page.
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.