gen_build_files.sh uses bashism, document it
[oweals/busybox.git] / archival / Config.in
index 6f803f4fe7046eb3c15ad5863556fa9d50507179..deacc28222289afc1250fd009e0ee973461c52c9 100644 (file)
@@ -5,12 +5,36 @@
 
 menu "Archival Utilities"
 
+config FEATURE_SEAMLESS_LZMA
+       bool "Make tar, rpm, modprobe etc understand .lzma data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .lzma data.
+
+config FEATURE_SEAMLESS_BZ2
+       bool "Make tar, rpm, modprobe etc understand .bz2 data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .bz2 data.
+
+config FEATURE_SEAMLESS_GZ
+       bool "Make tar, rpm, modprobe etc understand .gz data"
+       default n
+       help
+         Make tar, rpm, modprobe etc understand .gz data.
+
+config FEATURE_SEAMLESS_Z
+       bool "Make tar and gunzip understand .Z data"
+       default n
+       help
+         Make tar and gunzip understand .Z data.
+
 config AR
        bool "ar"
        default n
        help
          ar is an archival utility program used to create, modify, and
-         extract contents from archives.  An archive is a single file holding
+         extract contents from archives. An archive is a single file holding
          a collection of other files in a structure that makes it possible to
          retrieve the original individual files (called archive members).
          The original files' contents, mode (permissions), timestamp, owner,
@@ -29,21 +53,28 @@ config AR
          probably say N here.
 
 config FEATURE_AR_LONG_FILENAMES
-       bool "Enable support for long filenames (not need for debs)"
+       bool "Support for long filenames (not needed for debs)"
        default n
        depends on AR
        help
-         By default the ar format can only store the first 15 characters of the
-         filename, this option removes that limitation.
+         By default the ar format can only store the first 15 characters
+         of the filename, this option removes that limitation.
          It supports the GNU ar long filename method which moves multiple long
          filenames into a the data section of a new ar entry.
 
+config FEATURE_AR_CREATE
+       bool "Support archive creation"
+       default n
+       depends on AR
+       help
+         This enables archive creation (-c and -r) with busybox ar.
+
 config BUNZIP2
        bool "bunzip2"
        default n
        help
          bunzip2 is a compression utility using the Burrows-Wheeler block
-         sorting text compression algorithm, and Huffman coding.  Compression
+         sorting text compression algorithm, and Huffman coding. Compression
          is generally considerably better than that achieved by more
          conventional LZ77/LZ78-based compressors, and approaches the
          performance of the PPM family of statistical compressors.
@@ -56,7 +87,7 @@ config BZIP2
        default n
        help
          bzip2 is a compression utility using the Burrows-Wheeler block
-         sorting text compression algorithm, and Huffman coding.  Compression
+         sorting text compression algorithm, and Huffman coding. Compression
          is generally considerably better than that achieved by more
          conventional LZ77/LZ78-based compressors, and approaches the
          performance of the PPM family of statistical compressors.
@@ -68,44 +99,63 @@ config CPIO
        bool "cpio"
        default n
        help
-         cpio is an archival utility program used to create, modify, and extract
-         contents from archives.
+         cpio is an archival utility program used to create, modify, and
+         extract contents from archives.
          cpio has 110 bytes of overheads for every stored file.
 
          This implementation of cpio can extract cpio archives created in the
          "newc" or "crc" format, it cannot create or modify them.
 
-         Unless you have a specific application which requires cpio, you should
-         probably say N here.
+         Unless you have a specific application which requires cpio, you
+         should probably say N here.
+
+config FEATURE_CPIO_O
+       bool "Support for archive creation"
+       default n
+       depends on CPIO
+       help
+         This implementation of cpio can create cpio archives in the "newc"
+         format only.
+
+config FEATURE_CPIO_P
+       bool "Support for passthrough mode"
+       default n
+       depends on FEATURE_CPIO_O
+       help
+         Passthrough mode. Rarely used.
 
 config DPKG
        bool "dpkg"
        default n
+       select FEATURE_SEAMLESS_GZ
        help
-         dpkg is a medium-level tool to install, build, remove and manage Debian packages.
+         dpkg is a medium-level tool to install, build, remove and manage
+         Debian packages.
 
-         This implementation of dpkg has a number of limitations, you should use the
-         official dpkg if possible.
+         This implementation of dpkg has a number of limitations,
+         you should use the official dpkg if possible.
 
 config DPKG_DEB
        bool "dpkg_deb"
        default n
+       select FEATURE_SEAMLESS_GZ
        help
-         dpkg-deb packs, unpacks and provides information about Debian archives.
+         dpkg-deb unpacks and provides information about Debian archives.
 
          This implementation of dpkg-deb cannot pack archives.
 
-         Unless you have a specific application which requires dpkg-deb, you should
-         probably say N here.
+         Unless you have a specific application which requires dpkg-deb,
+         say N here.
 
 config FEATURE_DPKG_DEB_EXTRACT_ONLY
-       bool "extract only (-x)"
+       bool "Extract only (-x)"
        default n
        depends on DPKG_DEB
        help
-         This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
-         However it saves space as none of the extra dpkg-deb, ar or tar options are
-         needed, they are linked to internally.
+         This reduces dpkg-deb to the equivalent of
+         "ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
+         of the extra dpkg-deb, ar or tar options are needed, they are linked
+         to internally.
 
 config GUNZIP
        bool "gunzip"
@@ -115,15 +165,6 @@ config GUNZIP
          You can use the `-t' option to test the integrity of
          an archive, without decompressing it.
 
-config FEATURE_GUNZIP_UNCOMPRESS
-       bool "Uncompress support"
-       default n
-       depends on GUNZIP
-       help
-         Enable if you want gunzip to have the ability to decompress
-         archives created by the program compress (not much
-         used anymore).
-
 config GZIP
        bool "gzip"
        default n
@@ -131,6 +172,28 @@ config GZIP
          gzip is used to compress files.
          It's probably the most widely used UNIX compression program.
 
+config FEATURE_GZIP_LONG_OPTIONS
+       bool "Enable long options"
+       default n
+       depends on GZIP && LONG_OPTS
+       help
+         Enable use of long options, increases size by about 106 Bytes
+
+config LZOP
+       bool "lzop"
+       default n
+       help
+         Lzop compression/decompresion.
+
+config LZOP_COMPR_HIGH
+       bool "lzop complession levels 7,8,9 (not very useful)"
+       default n
+       depends on LZOP
+       help
+         High levels (7,8,9) of lzop compression. These levels
+         are actually slower than gzip at equivalent compression ratios
+         and take up 3.2K of code.
+
 config RPM2CPIO
        bool "rpm2cpio"
        default n
@@ -143,13 +206,6 @@ config RPM
        help
          Mini RPM applet - queries and extracts RPM packages.
 
-config FEATURE_RPM_BZ2
-       bool "Enable handling of rpms with bzip2-compressed data inside"
-       default n
-       depends on RPM
-       help
-         Enable handling of rpms with bzip2-compressed data inside.
-
 config TAR
        bool "tar"
        default n
@@ -166,45 +222,13 @@ config FEATURE_TAR_CREATE
          If you enable this option you'll be able to create
          tar archives using the `-c' option.
 
-config FEATURE_TAR_GZIP
-       bool "Enable -z option"
-       default y
-       depends on TAR
-       help
-         If you enable this option tar will be able to call gzip,
-         when creating or extracting tar gziped archives.
-
-config FEATURE_TAR_BZIP2
-       bool "Enable -j option to handle .tar.bz2 files"
-       default n
-       depends on TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with bzip2.
-
-config FEATURE_TAR_LZMA
-       bool "Enable -a option to handle .tar.lzma files"
-       default n
-       depends on TAR
-       help
-         If you enable this option you'll be able to extract
-         archives compressed with lzma.
-
-config FEATURE_TAR_COMPRESS
-       bool "Enable -Z option"
-       default n
-       depends on TAR
-       help
-         If you enable this option tar will be able to call uncompress,
-         when extracting .tar.Z archives.
-
 config FEATURE_TAR_AUTODETECT
-       bool "Let tar autodetect gz/bz2 compresses tarballs"
+       bool "Autodetect compressed tarballs"
        default n
-       depends on FEATURE_TAR_GZIP || FEATURE_TAR_BZIP2
+       depends on TAR && (FEATURE_SEAMLESS_Z || FEATURE_SEAMLESS_GZ || FEATURE_SEAMLESS_BZ2 || FEATURE_SEAMLESS_LZMA)
        help
-         With this option tar can automatically detect gzip/bzip2 compressed
-         tarballs. Currently it works only on seekable streams.
+         With this option tar can automatically detect compressed
+         tarballs. Currently it works only on files (not pipes etc).
 
 config FEATURE_TAR_FROM
        bool "Enable -X (exclude from) and -T (include from) options)"
@@ -215,9 +239,9 @@ config FEATURE_TAR_FROM
          a list of files to include or exclude from an archive.
 
 config FEATURE_TAR_OLDGNU_COMPATIBILITY
-       bool "Enable support for old tar header format"
+       bool "Support for old tar header format"
        default N
-       depends on TAR
+       depends on TAR || DPKG
        help
          This option is required to unpack archives created in
          the old GNU format; help to kill this old format by
@@ -226,16 +250,17 @@ config FEATURE_TAR_OLDGNU_COMPATIBILITY
 config FEATURE_TAR_OLDSUN_COMPATIBILITY
        bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
        default N
-       depends on TAR
+       depends on TAR || DPKG
        help
          This option is required to unpack archives created by some old
-         version of Sun's tar (it was calculating checksum using signed arithmetic).
-         It is said to be fixed in newer Sun tar, but "old" tarballs still exist.
+         version of Sun's tar (it was calculating checksum using signed
+         arithmetic). It is said to be fixed in newer Sun tar, but "old"
+         tarballs still exist.
 
 config FEATURE_TAR_GNU_EXTENSIONS
-       bool "Enable support for some GNU tar extensions"
+       bool "Support for GNU tar extensions (long filenames)"
        default y
-       depends on TAR
+       depends on TAR || DPKG
        help
          With this option busybox supports GNU long filenames and
          linknames.
@@ -243,18 +268,35 @@ config FEATURE_TAR_GNU_EXTENSIONS
 config FEATURE_TAR_LONG_OPTIONS
        bool "Enable long options"
        default n
-       depends on TAR && GETOPT_LONG
+       depends on TAR && LONG_OPTS
        help
          Enable use of long options, increases size by about 400 Bytes
 
 config FEATURE_TAR_UNAME_GNAME
        bool "Enable use of user and group names"
        default n
+       depends on TAR
        help
          Enables use of user and group names in tar. This affects contents
          listings (-t) and preserving permissions when unpacking (-p).
          +200 bytes.
 
+config FEATURE_TAR_NOPRESERVE_TIME
+       bool "Enable -m (do not preserve time) option"
+       default n
+       depends on TAR
+       help
+         With this option busybox supports GNU tar -m
+         (do not preserve time) option.
+
+config FEATURE_TAR_SELINUX
+       bool "Support for extracting SELinux labels"
+       default n
+       depends on TAR && SELINUX
+       help
+         With this option busybox supports restoring SELinux labels
+         when extracting files from tar archives.
+
 config UNCOMPRESS
        bool "uncompress"
        default n
@@ -267,7 +309,7 @@ config UNLZMA
        default n
        help
          unlzma is a compression utility using the Lempel-Ziv-Markov chain
-         compression algorithm, and range coding.  Compression
+         compression algorithm, and range coding. Compression
          is generally considerably better than that achieved by the bzip2
          compressors.
 
@@ -278,12 +320,12 @@ config UNLZMA
          should probably say N here.
 
 config FEATURE_LZMA_FAST
-       bool "Optimze unlzma for speed"
+       bool "Optimize unlzma for speed"
        default n
        depends on UNLZMA
        help
-         This option reduces decompression time by about 33% at the cost of
-         a 2K bigger binary.
+         This option reduces decompression time by about 25% at the cost of
+         a 1K bigger binary.
 
 config UNZIP
        bool "unzip"
@@ -295,48 +337,4 @@ config UNZIP
          current directory. Use the `-d' option to extract to a
          directory of your choice.
 
-comment "Common options for cpio and tar"
-       depends on CPIO || TAR
-
-config FEATURE_UNARCHIVE_TAPE
-       bool "Enable tape drive support"
-       default n
-       depends on CPIO || TAR
-       help
-         I don't think this is needed anymore.
-
-comment "Common options for dpkg and dpkg_deb"
-       depends on DPKG || DPKG_DEB
-
-config FEATURE_DEB_TAR_GZ
-       bool "gzip debian packages (normal)"
-       default y if DPKG || DPKG_DEB
-       depends on DPKG || DPKG_DEB
-       help
-         This is the default compression method inside the debian ar file.
-
-         If you want compatibility with standard .deb's you should say yes here.
-
-config FEATURE_DEB_TAR_BZ2
-       bool "bzip2 debian packages"
-       default n
-       depends on DPKG || DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed internally
-         with bzip2 instead of gzip.
-
-         You only want this if you are creating your own custom debian packages that
-         use an internal control.tar.bz2 or data.tar.bz2.
-
-config FEATURE_DEB_TAR_LZMA
-       bool "lzma debian packages"
-       default n
-       depends on DPKG || DPKG_DEB
-       help
-         This allows dpkg and dpkg-deb to extract deb's that are compressed
-         internally with lzma instead of gzip.
-
-         You only want this if you are creating your own custom debian
-         packages that use an internal control.tar.lzma or data.tar.lzma.
-
 endmenu