Bug 255466 - archivers/lzlib: Update to 1.12
Summary: archivers/lzlib: Update to 1.12
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Xin LI
Depends on:
Reported: 2021-04-28 14:28 UTC by Gian-Simon Purkert
Modified: 2021-04-28 20:54 UTC (History)
0 users

See Also:
delphij: maintainer-feedback+

Update to 1.12 (1.15 KB, patch)
2021-04-28 14:28 UTC, Gian-Simon Purkert
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gian-Simon Purkert 2021-04-28 14:28:38 UTC
Created attachment 224502 [details]
Update to 1.12


Changes in version 1.12:

The value of the version test macro 'LZ_API_VERSION' is now defined as
1000 * major + minor. For version 1.12 it is 1012.
This change does not affect the soversion.

The new function 'LZ_api_version', which returns the LZ_API_VERSION of the
library object code being used, has been added to lzlib.

If end of file is found at member trailer or EOS marker,
'LZ_decompress_errno' now returns 'LZ_unexpected_eof' instead of

Decompression speed has been slightly increased.

A bug has been fixed in minilzip that falsely reported a library stall when
decompressing a file with empty members.

The new option '--check-lib', which compares the version of lzlib used to
compile minilzip with the version actually being used, has been added to

Minilzip now reports an error if a file name is empty (minilzip -t "").

Option '-o, --output' now behaves like '-c, --stdout', but sending the
output unconditionally to a file instead of to standard output. See the new
description of '-o' in the manual. This change is not backwards compatible.
Therefore commands like:
  minilzip -o foo.lz - bar < foo
must now be split into:
  minilzip -o foo.lz - < foo
  minilzip bar
or rewritten as:
  minilzip - bar < foo > foo.lz

When using '-c' or '-o', minilzip now checks whether the output is a
terminal only once.

Minilzip now does not even open the output file if the input file is a terminal.

The words 'decompressed' and 'compressed' have been replaced with the
shorter 'out' and 'in' in the verbose output of minilzip when decompressing
or testing.

It has been documented in the manual that 'LZ_(de)compress_close' and
'LZ_(de)compress_errno' can be called with a null argument.

It has been documented in the manual that the LZMA marker '3' ("Sync Flush"
marker) is not allowed in lzip files. Marker '3' is a device for interactive
communication between applications using lzlib, but is useless and wasteful
in a file, and is excluded from the media type 'application/lzip'. The LZMA
marker '2' ("End Of Stream" marker) is the only marker allowed in lzip

It has been documented in the manual that not calling 'LZ_decompress_finish'
prevents lzlib from detecting a truncated member.

It has been documented in the manual that 'LZ_decompress_read' returns at
least once per member so that 'LZ_decompress_member_finished' can be called
(and trailer data retrieved) for each member, even for empty members.
Therefore, 'LZ_decompress_read' returning 0 does not mean that the end of
the stream has been reached.

It has been documented in the manual that 'LZ_(de)compress_read' can be
called with a null buffer pointer argument.

Real code examples for the most common uses of the library have been added
to the tutorial.

'bbexample.c' has been simplified to not use 'LZ_(de)compress_write_size'.

'lzcheck' now accepts options '-s' (to check LZ_compress_sync_flush) and
'-m' (to check member by member decompression).

'lzcheck.c' now also tests member by member decompression without
intermediate calls to 'LZ_decompress_finish'.

The new file 'ffexample.c', containing example functions for file-to-file
compression/decompression, has been added to the distribution.

The commands needed to extract files from a tar.lz archive have been
documented in the output of 'minilzip --help' and in the man page.

'make install-bin' no longer installs the minilzip man page. This is to
prevent 'make install-bin install-man-compress' from installing the man page
twice before compressing it.

The new targets 'install-bin-compress' and 'install-bin-strip-compress',
which install a (stripped) minilzip and a compressed man page, have been
added to the Makefile.

9 new test files have been added to the testsuite.
Comment 1 commit-hook freebsd_committer 2021-04-28 20:53:05 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6ee2993ea91fcdcd27b0586a71f6ddd6a3f46b38

commit 6ee2993ea91fcdcd27b0586a71f6ddd6a3f46b38
Author:     Gian-Simon Purkert <gspurki@gmail.com>
AuthorDate: 2021-04-28 20:38:18 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2021-04-28 20:52:23 +0000

    archivers/lzlib: Update to 1.12

    PR:             255466
    Submitted by:   Gian-Simon Purkert <gspurki@gmail.com>

 archivers/lzlib/Makefile | 8 ++++----
 archivers/lzlib/distinfo | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)
Comment 2 Xin LI freebsd_committer 2021-04-28 20:54:46 UTC
Committed, thanks!

(Please consider using git format-patch for future submission as that would make it easier to properly credit author of the patch).