Skip to content
Snippets Groups Projects
Commit 7885d1114e7b authored by Lasse Collin's avatar Lasse Collin
Browse files

Updated the totally outdated TODO file.

parent b6e8b6c2f53c
No related branches found
No related tags found
No related merge requests found
LZMA Utils TODO List
--------------------
Major missing features
......@@ -6,3 +1,4 @@
Memory limits in the command line tool apply only to compression.
XZ Utils To-Do List
===================
......@@ -8,6 +4,4 @@
Threading support in the lzma command line tool is still primitive.
It cannot split a file in pieces yet.
The --list mode isn't implemented in the command line tool.
Known bugs
----------
......@@ -13,5 +7,3 @@
Handling of Multi-Block Stream information should be separated
from Stream encoder and decoder. Those would be useful to implement
multi-threaded coding in applications.
The test suite is too incomplete.
......@@ -17,12 +9,7 @@
Buffer to buffer coding is not implemented in liblzma. Probably
a naive version should be written first, which would simply wrap
things around lzma_stream. Later, there should be separate buffer
coding functions, that are slightly faster (less memcpy()) and
have smaller memory usage than the functions using lzma_stream.
libzfile is not implemented.
LZMA filter doesn't support predefined history buffer.
If the memor 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.
......@@ -27,11 +14,5 @@
Security
Search for bugs, especially security related issues. Security is
important in every piece of code in LZMA Utils, but it is extremely
important in the decoder part of liblzma.
Subblock: If there is LZMA as a Subfilter but without EOPM, can it
trigger infinite loop when Subblock's "Unset Subfilter" flag is hit?
Missing features
----------------
......@@ -37,8 +18,3 @@
Similarly, can LZ decoder get stuck in infinite loop if the next
filter in the chain returns LZMA_STREAM_END but the decoded data
doesn't allow finishing the LZ decoding?
Reliability
"xz --list"
......@@ -44,8 +20,4 @@
Create a test suite to be run with "make check".
Should we use strlimit() and getrlimit() for memory usage limitting?
Performance
xz could create sparse files when decompressing. (Some prototyping
has been done.)
......@@ -51,5 +23,4 @@
Benchmark the CRC code on non-x86 CPUs. Won't have huge effect on
overall speed, but it would still be nice to know what algorithm
variant is the best on different CPUs.
xz doesn't support copying extended attributes, access control
lists etc. from source to target file.
......@@ -55,4 +26,3 @@
Third party support
Multithreaded compression
......@@ -58,14 +28,3 @@
Add support for LZMA to various applications. This naturally requires
cooperating with the authors of the specific applications.
* GNU grep and GNU diffutils: BSD grep already uses zlib directly
instead of ugly shell scripts. It would be nice to get similar
feature into relevant GNU tools. With libzfile, multiple
compression formats would be easy to support.
* kioslave for KDE
* Magic for the `file' command
* GNU Midnight Commander
* GNU Texinfo
* The `man' command
* Package managers
Multithreaded decompression
......@@ -71,5 +30,4 @@
Test the patches already written. The patches should be sent to
upstream developers _once_ LZMA Utils APIs are stable enough (so
people don't need to fix those patches all the time).
Buffer-to-buffer coding could use less RAM (especially when
decompressing LZMA1 or LZMA2).
......@@ -75,6 +33,5 @@
Mandriva has quite a few patches. Some of them are OK, some need
adapting for new LZMA Utils.
I/O library is not implemented. It will possibly be named libzzf.
Documentation
......@@ -78,18 +35,5 @@
Documentation
Revise the man page of lzma command line tool.
If the Doxygen docs aren't enough, write good Texinfo manual for
liblzma. It's been a long time I've even tried to build the Doxygen
docs, so they may look quite bad at the moment.
Document LZMA as an algorithm. It would be great to have detailed
description of the algorithm in English. Many people think, that
reading the source code is not the optimal way to learn how LZMA
works.
Other
-------------
......@@ -95,8 +39,6 @@
Some things return LZMA_PROG_ERROR with invalid options, some
LZMA_HEADER_ERROR. These must be checked carefully and made so
that LZMA_HEADER_ERROR is used only when the given option could
make sense in future version of libzma.
lzma_restrict vs. restrict
Some tutorial is needed for liblzma. I have planned to write some
extremely well commented example programs, which would work as
a tutorial. I suppose the Doxygen tags are quite OK as a quick
reference once one is familiar with the liblzma API.
......@@ -102,3 +44,3 @@
Usage of LZMA_RUN vs. LZMA_FINISH with Metadata coders.
Document the LZMA1 and LZMA2 algorithms.
......@@ -104,6 +46,1 @@
Port the Deflate implementation from 7-Zip into liblzma. 7-Zip's
Deflate compresses better than zlib, gzip or Info-ZIP. I don't
know if Deflate will be included in .lzma format (probably not),
but it's still useful once we also add support for .gz file format.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment