diff options
Diffstat (limited to 'Build/source/extra/xz/PACKAGERS')
-rw-r--r-- | Build/source/extra/xz/PACKAGERS | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/Build/source/extra/xz/PACKAGERS b/Build/source/extra/xz/PACKAGERS deleted file mode 100644 index 6c5d219cb7e..00000000000 --- a/Build/source/extra/xz/PACKAGERS +++ /dev/null @@ -1,231 +0,0 @@ - -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 - |