XZ Utils for QNX(русская версия)
XZ Utils -- is free general-purpose data compression software with high compression ratio.
XZ Utils were written for POSIX-like systems (
GNU/Linux,
*BSD, etc.), but also work on some not-so-POSIX systems, for example
Windows.
XZ Utils are the successor to
LZMA Utils.
The core of the
XZ Utils compression code is based on modifed
LZMA SDK. The primary compression algorithm is currently
LZMA2, which is used inside the
.xz container format. With typical files,
XZ Utils create 30 % smaller output than
gzip and 15% smaller output than
bzip2.
XZ Utils consist of several components:
-
liblzma is a compression library with API similar to that of
zlib;
-
xz is a command line tool with syntax similar to that of
gzip;
-
xzdec is a decompression-only tool smaller than the full-featured
xz tool;
- a set of shell scripts (
xzgrep,
xzdiff, etc.) have been adapted from
gzip to ease viewing, grepping, and comparing compressed files;
- emulation of command line tools of
LZMA Utils eases transition from
LZMA Utils to
XZ Utils.
While liblzma has a
zlibAPI,
liblzma doesn't include any file I/O functions. A separate I/O library is planned, which would abstract handling of
.gz,
.bz2, and
.xz files with an easy to use API.
XZ is used by
GNU coreutils versions 7.1 and newer. Version 1.22 or greater of the
GNU tar allows to automatically compress and extract
tar archives using
xz, allowing transparent operation with them (like
gzip and
bzip2).
In fact it is really interesting and promising software. It builds on QNX6 without any problems. There is also the XZ Embedded project which is worth attention too, since small compiled code (from 8 to 20 KB) provides extraction of data with high compression ratio.LicenseThe most interesting parts of
XZ Utils (e.g
liblzma) are in the public domain. You can do whatever you want with the public domain parts.
Some parts of
XZ Utils (e.g. build system and some utilities) are under different free software licenses such as GNU LGPLv2.1, GNU GPLv2, or GNU GPLv3.
Starting with version 5.0, it is planned to move
XZ Utils into the public domain.
Installing XZ Utils 5.0.1 on QNX4To build
XZ Utils 5.0.1 in QNX4 you will need the source code, patch file and build script. Building is performed in
Linux using
OpenWatcom. To simplify the build process, all necessary commands were gathered in one script. If you don't plan to build
XZ Utils from the source code, you can download and install pre-compiled archive. All download links are located at the bottom of this message.
1. BuildingDownload source code, patch file and build script into one directory. Modify script if needed -- you can change
XZ Utils installation directory or specify additional options for compiler. After that run script:
In the result the
xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz archive with binaries for QNX4 would be created. This package was not fully tested. It's known that unfortunately some scripts (xzmore, xzdiff) don't work. Possibly this will be fixed in the future. Other bug reports for QNX4 version are also welcome.
2. Installation from the archiveCopy
xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz archive into QNX4 root directory and run:
#cd /
# /etc/install -u xz-5.0.1-qnx4-bin-YYYYMMDD.tar.gz
XZ Utils 5.0.1 installation in QNX6To build
XZ Utils 5.0.1 in QNX6 you will need the source code, patch file and build script. Building is performed in
Linux using QNX SDP. To simplify the build process, all necessary commands were gathered in one script. If you don't plan to build
XZ Utils from the source code, you can download and install pre-compiled archive. All download links are located at the bottom of this message.
1. BuildingDownload source code, patch and build script into one directory. Modify script if needed -- you can change
XZ Utils target platform and installation directory. After that run script:
In the result the
xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 archive with binaries for QNX6 would be created.
2. Installation from the archiveCopy
xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2 archive into QNX6 root directory and run:
# tar -C / -xf /xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2
If you need to install it on the host machine then you should run:
# tar -C ${QNX_HOST} -xf /xz-5.0.1-i486-pc-nto-qnx6.5.0-YYYYMMDD.tar.bz2
Links -
XZ Utils site -
Wikipedia -
XZ Utils 5.0.1 package for QNX6 -
Build script for QNX6 -
OpenWatcom configuration for QNX4 (Russian) (Google Translate) -
wacc utility (Russian) (Google Translate)Links for QNX4