
Information to packagers of XZ Utils
====================================

    0. Preface
    1. Package naming
    2. Package description
    3. License
    4. configure options
    5. Additional documentation
    6. Extra files
    7. Installing XZ Utils and LZMA Utils in parallel
    8. Example


0. Preface
----------

    This document is meant for people who create and maintain XZ Utils
    packages for operating system distributions. The focus is on GNU/Linux
    systems, but most things apply to other systems too.

    While the standard "configure && make DESTDIR=$PKG install" should
    give a pretty good package, there are some details which packagers
    may want to tweak.

    Packagers should also read the INSTALL file.


1. Package naming
-----------------

    The preferred name for the XZ Utils package is "xz", because that's
    the name of the upstream tarball. Naturally you may have good reasons
    to use some other name; I won't get angry about it. ;-) It's just nice
    to be able to point people to the correct package name without asking
    what distro they have.

    If your distro policy is to split things into small pieces, here is
    one suggestion:

        xz              xz, xzdec, scripts (xzdiff, xzgrep, etc.), docs
        xz-lzma         lzma, unlzma, lzcat, lzgrep etc. symlinks and
                        lzmadec binary for compatibility with LZMA Utils
        liblzma         liblzma.so.*
        liblzma-devel   liblzma.so, liblzma.a, API headers


2. Package description
----------------------

    Here is a suggestion which you may use as the package description.
    If you can use only one-line description, pick only the first line.
    Naturally, feel free to use some other description if you find it
    better, and maybe send it to me too.

        Library and command line tools for XZ and LZMA compressed files

        XZ Utils provide a general purpose data compression library
        and command line tools. The native file format is the .xz
        format, but also the legacy .lzma format is supported. The .xz
        format supports multiple compression algorithms, of which LZMA2
        is currently the primary algorithm. With typical files, XZ Utils
        create about 30 % smaller files than gzip.

    If you are splitting XZ Utils into multiple packages, here are some
    suggestions for package descriptions:

    xz:

        Command line tools for XZ and LZMA compressed files

        This package includes the xz compression tool and other command
        line tools from XZ Utils. xz has command line syntax similar to
        that of gzip. The native file format is the .xz format, but also
        the legacy .lzma format is supported. The .xz format supports
        multiple compression algorithms, of which LZMA2 is currently the
        primary algorithm. With typical files, XZ Utils create about 30 %
        smaller files than gzip.

        Note that this package doesn't include the files needed for
        LZMA Utils 4.32.x compatibility. Install also the xz-lzma
        package to make XZ Utils emulate LZMA Utils 4.32.x.

    xz-lzma:

        LZMA Utils emulation with XZ Utils

        This package includes executables and symlinks to make
        XZ Utils emulate lzma, unlzma, lzcat, and other command
        line tools found from the legacy LZMA Utils 4.32.x package.

    liblzma:

        Library for XZ and LZMA compressed files

        liblzma is a general purpose data compression library with
        an API similar to that of zlib. liblzma supports multiple
        algorithms, of which LZMA2 is currently the primary algorithm.
        The native file format is .xz, but also the legacy .lzma
        format and raw streams (no headers at all) are supported.

        This package includes the shared library.

    liblzma-devel:

        Library for XZ and LZMA compressed files

        This package includes the API headers, static library, and
        other development files related to liblzma.


3. License
----------

    If the package manager supports a license field, you probably should
    put GPLv2+ there (GNU GPL v2 or later). The interesting parts of
    XZ Utils are in the public domain, but some less important files
    ending up into the binary package are under GPLv2+. So it is simplest
    to just say GPLv2+ if you cannot specify "public domain and GPLv2+".

    If you split XZ Utils into multiple packages as described earlier
    in this file, liblzma and liblzma-dev packages will contain only
    public domain code (from XZ Utils at least; compiler or linker may
    add some third-party code, which may be copyrighted).


4. configure options
--------------------

    Unless you are building a package for a distribution that is meant
    only for embedded systems, don't use the following configure options:

        --enable-debug
        --enable-encoders (*)
        --enable-decoders
        --enable-match-finders
        --enable-checks
        --enable-small (*)
        --disable-threads (*)

    (*) These are OK when building xzdec and lzmadec as described
        in INSTALL.

    xzdec and lzmadec don't provide any functionality that isn't already
    available in the xz tool. Shipping xzdec and lzmadec without size
    optimization and statically-linked liblzma isn't very useful. Doing
    that would give users the xzdec man page, which may make it easier
    for people to find out that such tools exists, but the executables
    wouldn't have any advantage over the full-featured xz.


5. Additional documentation
---------------------------

    "make install" copies some additional documentation to $docdir
    (--docdir in configure). There is a copy of the GNU GPL v2, which
    can be replaced with a symlink if your distro ships with shared
    copies of the common license texts.

    liblzma API is currently only documented using Doxygen tags in the
    API headers. It hasn't been tested much how good results Doxygen
    is able to make from the tags (e.g. Doxyfile might need tweaking,
    the tagging may need to be improved etc.), so it might be simpler
    to just let people read docs directly from the .h files for now,
    and also save quite a bit in package size at the same time.


6. Extra files
--------------

    The "extra" directory contains some small extra tools or other files.
    The exact set of extra files can vary between XZ Utils releases. The
    extra files have only limited use or they are too dangerous to be
    put directly to $bindir (7z2lzma.sh is a good example, since it can
    silently create corrupt output if certain conditions are not met).

    If you feel like it, you may copy the extra directory under the doc
    directory (e.g. /usr/share/doc/xz/extra). Maybe some people will find
    them useful. However, most people needing these tools probably are
    able to find them from the source package too.

    The "debug" directory contains some tools that are useful only when
    hacking on XZ Utils. Don't package these tools.


7. Installing XZ Utils and LZMA Utils in parallel
-------------------------------------------------

    XZ Utils and LZMA Utils 4.32.x can be installed in parallel by
    omitting the compatibility symlinks (lzma, unlzma, lzcat, lzgrep etc.)
    from the XZ Utils package. It's probably a good idea to still package
    the symlinks into a separate package so that users may choose if they
    want to use XZ Utils or LZMA Utils for handling .lzma files.


8. Example
----------

    Here is an example for i686 GNU/Linux that
      - links xz and lzmainfo against shared liblzma;
      - links size-optimized xzdec and lzmadec against static liblzma
        while avoiding libpthread dependency;
      - includes only shared liblzma in the final package; and
      - copies also the "extra" directory to the package.

    PKG=/tmp/xz-pkg
    tar xf xz-x.y.z.tar.gz
    cd xz-x.y.z
    ./configure \
            --prefix=/usr \
            --disable-static \
            --disable-xzdec \
            --disable-lzmadec \
            CFLAGS='-march=i686 -mtune=generic -O2'
    make
    make DESTDIR=$PKG install-strip
    make clean
    ./configure \
            --prefix=/usr \
            --disable-shared \
            --disable-nls \
            --disable-encoders \
            --enable-small \
            --disable-threads \
            CFLAGS='-march=i686 -mtune=generic -Os'
    make -C src/liblzma
    make -C src/xzdec
    make -C src/xzdec DESTDIR=$PKG install-strip
    cp -a extra $PKG/usr/share/doc/xz

